12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- pipeline {
- agent any
- environment {
- harborAddr='122.9.140.63:9010'
- harborRepo='repo'
- harborUser='admin'
- projectGitAddr='http://git.yvanui.com/jztd/wms84.git'
- projectPath='pc-client'
- projectPort=80
- projectNodePort=30005
- }
- tools {nodejs "node-v16.17.1"}
- stages {
- stage('拉取代码') {
- steps {
- checkout([$class: 'GitSCM', branches: [[name: "${params.TAG}"]], extensions: [], userRemoteConfigs: [[credentialsId: 'jenkins-Gods', url: "${projectGitAddr}"]]])
- checkout([$class: 'GitSCM', branches: [[name: '*/master']], extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: "${WORKSPACE}/${JOB_NAME}/${JOB_NAME}/yvan-vue/"]], userRemoteConfigs: [[credentialsId: 'jenkins-Gods', url: 'http://git.yvanui.com/jztd/yvan-vue.git']]])
- }
- }
- stage('构建代码') {
- steps {
- sh 'cd ${WORKSPACE}/${JOB_NAME}/yvan-vue && npm install && npm link'
- sh 'cd ${WORKSPACE}/${JOB_NAME} && npm install && npm link yvan-vue && npm run build'
- }
- }
- stage('构建镜像') {
- steps {
- sh "docker build --build-arg PROJECT_NAME=${JOB_NAME} --build-arg DEPLOY_ENV=${ENV} -t ${JOB_NAME}:${TAG} ${WORKSPACE}/${projectPath}/"
- sh '''docker login -u ${harborUser} --password-stdin < /var/jenkins_home/docker/password ${harborAddr}
- docker tag ${JOB_NAME}:${TAG} ${harborAddr}/${harborRepo}/${JOB_NAME}:${TAG}
- docker push ${harborAddr}/${harborRepo}/${JOB_NAME}:${TAG}'''
- }
- }
- stage('部署') {
- steps {
- sh 'ssh root@192.168.0.185 "/usr/local/scripts/k8s/deploy.sh ${ENV} ${JOB_NAME} ${TAG} ${projectPort} ${projectNodePort}"'
- }
- }
- }
- }
|