Explorar el Código

更新 Jenkinsfile

alair hace 4 meses
padre
commit
80bf4da527
Se han modificado 1 ficheros con 13 adiciones y 6 borrados
  1. 13 6
      Jenkinsfile

+ 13 - 6
Jenkinsfile

@@ -4,7 +4,10 @@ pipeline{
 	agent any
 	// 声明全局变量,方便后面使用
 	environment {
-		key = 'value'
+        harbor_user = 'admin'
+        harbor_passwd = 'Zq0034bgns.'
+        harbor_address = '192.168.0.3:9080'
+        harbor_repo = 'repo'
 	}
     stages {
         stage('拉取git仓库代码') {
@@ -14,27 +17,31 @@ pipeline{
         }
         stage('通过maven构建项目') {
             steps {
-                echo '通过maven构建项目 - SUCCESS'
+                sh '/var/jenkins_home/apache-maven-3.9.11/bin/mvn clean package -DskipTests'
             }
         }
         stage('通过SonerQube做代码质量检测') {
             steps {
-                echo '通过SonerQube做代码质量检测 - SUCCESS'
+                sh '/var/jenkins_home/sonar-scanner/bin/sonar-scanner -Dsonar.sources=./ -Dsonar.projectname=${JOB_NAME} -Dsonar.projectKey=${JOB_NAME} -Dsonar.java.binaries=./target/ -Dsonar.token=squ_b5fe8ff602839ce1b3374e2716a1741e62777e79'
             }
         }
         stage('通过Docker制作自定义镜像') {
             steps {
-                echo '通过Docker制作自定义镜像 - SUCCESS'
+                sh '''mv ./target/*.jar ./docker/
+                docker build -t ${JOB_NAME}:$tag ./docker/'''
             }
         }
         stage('将自定义镜像推送到Harbor') {
             steps {
-                echo '将自定义镜像推送到Harbor - SUCCESS'
+                sh '''docker login -u ${harbor_user} -p ${harbor_passwd} ${harbor_address}
+                docker tag ${JOB_NAME}:$tag ${harbor_address}/${harbor_repo}/${JOB_NAME}:$tag
+                docker push ${harbor_address}/${harbor_repo}/${JOB_NAME}:$tag'''
             }
         }
         stage('通过Publish Over SSH通知目标服务器') {
             steps {
-                echo '通过Publish Over SSH通知目标服务器 - SUCCESS'
+                sshPublisher(publishers: [sshPublisherDesc(configName: 'rancher-k8s-dev', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: '''deploy.sh $harbor_address $harbor_repo $JOB_NAME $tag $container_port $host_port
+''', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '', remoteDirectorySDF: false, removePrefix: '', sourceFiles: '')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
             }
         }
     }