57 lines
1.3 KiB
Groovy
57 lines
1.3 KiB
Groovy
pipeline {
|
|
agent any
|
|
|
|
environment {
|
|
SSH_CREDENTIALS_ID = 'alex-ssh-key'
|
|
REMOTE_HOST = '117.72.202.202'
|
|
REMOTE_USER = 'alex'
|
|
REMOTE_DIR = '/home/alex/alex-ui'
|
|
REMOTE_FRONT_PATH = '/var/www/alex-ui'
|
|
NGINX_CONTAINER = 'nginx'
|
|
}
|
|
|
|
stages {
|
|
stage('Pull Code') {
|
|
steps {
|
|
sshagent([env.SSH_CREDENTIALS_ID]) {
|
|
sh """
|
|
ssh ${REMOTE_USER}@${REMOTE_HOST} '
|
|
set -e
|
|
cd ${REMOTE_DIR} || git clone git@117.72.202.202:ALEX/alex-ui.git ${REMOTE_DIR}
|
|
cd ${REMOTE_DIR}
|
|
git pull origin master
|
|
'
|
|
"""
|
|
}
|
|
}
|
|
}
|
|
|
|
stage('Install & Build') {
|
|
steps {
|
|
sshagent([env.SSH_CREDENTIALS_ID]) {
|
|
sh """
|
|
ssh ${REMOTE_USER}@${REMOTE_HOST} '
|
|
cd ${REMOTE_DIR}
|
|
npm install --legacy-peer-deps
|
|
npx vue-cli-service build
|
|
'
|
|
"""
|
|
}
|
|
}
|
|
}
|
|
|
|
stage('Deploy') {
|
|
steps {
|
|
sshagent([env.SSH_CREDENTIALS_ID]) {
|
|
sh """
|
|
ssh ${REMOTE_USER}@${REMOTE_HOST} '
|
|
sudo cp -r ${REMOTE_DIR}/dist/* ${REMOTE_FRONT_PATH}/
|
|
sudo docker restart ${NGINX_CONTAINER}
|
|
'
|
|
"""
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|