|
@@ -0,0 +1,44 @@
|
|
|
|
+pipeline {
|
|
|
|
+ agent any
|
|
|
|
+
|
|
|
|
+ environment {
|
|
|
|
+ harborAddr='122.9.140.63:9010'
|
|
|
|
+ harborRepo='repo'
|
|
|
|
+ harborUser='admin'
|
|
|
|
+ projectGitAddr='http://git.yvanui.com/jztd/wms84.git'
|
|
|
|
+ projectPath='resource-manager/resource-manager-application'
|
|
|
|
+ projectPort=8089
|
|
|
|
+ projectNodePort=30003
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ stages {
|
|
|
|
+ stage('拉取代码') {
|
|
|
|
+ steps {
|
|
|
|
+ checkout([$class: 'GitSCM', branches: [[name: "${params.TAG}"]], extensions: [], userRemoteConfigs: [[credentialsId: 'jenkins-Gods', url: "${projectGitAddr}"]]])
|
|
|
|
+ checkout([$class: 'GitSCM', branches: [[name: '*/8.4']], extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: "${WORKSPACE}/yvan-framework/"]], userRemoteConfigs: [[credentialsId: 'jenkins-Gods', url: 'http://git.yvanui.com/lizhiwei/yvan-framework.git']]])
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ stage('构建代码') {
|
|
|
|
+ steps {
|
|
|
|
+ sh '/var/jenkins_home/gradle/bin/gradle clean build -x test -x javadocJar -x sourcesJar'
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ stage('构建镜像') {
|
|
|
|
+ steps {
|
|
|
|
+ sh "docker build --build-arg PROJECT_NAME=${JOB_NAME} --build-arg DEPLOY_ENV=${ENV} -t ${JOB_NAME}:${TAG} ${WORKSPACE}/${projectPath}/"
|
|
|
|
+// sh "docker rmi $(docker images -f 'dangling=true' -q)"
|
|
|
|
+ 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}"'
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|