pipeline { agent any options { ansiColor('xterm') } tools { nodejs 'node 17.9.1' } environment { PRJ_NAME = 'usvisartrack_ui' PRJ_VERSION = '0.0.10' REPO_USERNAME = credentials('86617b35-b114-4604-b054-082c8638bf8e') REPO_PASSWORD = credentials('c96b3079-b141-43f0-b43a-c9c2adfb14ea') NODE_OPTIONS = '--openssl-legacy-provider' } stages { stage("Pull Source Code"){ steps { git credentialsId: 'd8a95129-132d-46d9-a864-06514d16feba', url: 'https://src.ossez.com/USVisaTrack/Usvisatrack-Ui-Docker.git' } } stage('Build VUE') { steps { echo 'Building..' dir('Vuejs/Admin') { sh 'yarn install' sh 'npx browserslist@latest --update-db' sh 'yarn build' } } } stage('Build Dokder') { steps { echo 'Testing..' dir('Vuejs/Admin') { sh 'docker image prune -f' sh 'docker build -f Dockerfile -t ${PRJ_NAME}:${PRJ_VERSION} --label ${PRJ_NAME} .' } } } stage('Deploy Docker') { steps { echo 'Deploying....' dir('Vuejs/Admin') { sh 'docker tag ${PRJ_NAME}:${PRJ_VERSION} repo-docker.ossez.com/docker-hub/${PRJ_NAME}:${PRJ_VERSION}' sh 'docker tag ${PRJ_NAME}:${PRJ_VERSION} repo-docker.ossez.com/docker-hub/${PRJ_NAME}:latest' sh 'docker login repo-docker.ossez.com --username ${REPO_USERNAME} --password ${REPO_PASSWORD}' sh 'docker push repo-docker.ossez.com/docker-hub/${PRJ_NAME}:${PRJ_VERSION}' sh 'docker push repo-docker.ossez.com/docker-hub/${PRJ_NAME}:latest' } } } } }