diff --git a/Jenkinsfile b/Jenkinsfile index 7167551..74034d3 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -2,39 +2,55 @@ pipeline { agent any environment { - NODE_ENV = 'development' - REMOTE_USER = 'alex' + 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('Checkout') { + stage('Pull Code') { steps { - checkout scm + 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 { - sh ''' - npm install --legacy-peer-deps - npx vue-cli-service 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(['alex-ssh-key']) { - sh ''' - scp -r dist/* ${REMOTE_USER}@${REMOTE_HOST}:${REMOTE_FRONT_PATH}/ - ssh ${REMOTE_USER}@${REMOTE_HOST} "docker restart ${NGINX_CONTAINER}" - ''' + 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} + ' + """ } } } } -} - +} \ No newline at end of file