FLOWERS_WAN

导航

pipeline 具体化操作

1. 添加参数

 

 

 

2. 生成流水线语法。

 

 3.放入gitlab中的  jenkins file

 

 

4.使用mvn编译pipeline工程。

 

 

 

 5.把上述流水线语法添加到 gitlab 中的jenkins file文件中,然后commit。

 

 

6. 去jenkins 的workspace目录中查看文件,此时没有target文件,编译完之后就会有 traget文件。

 

 

7. jenkins编译完成以后,多出了target文件。

 

 

 

8 通过sonarqube 做一次代码监测。

/var/lib/jenkins/sonar-scanner/bin/sonar-scanner -Dsonar.source=./ -Dsonar.projectname=${JOB_NAME} -Dsonar.projectKey=${JOB_NAME} -Dsonar.java.binaries=./target/
-Dsonar.login=e41b78482304960ec151846565482790b1738469

9.生成流水线脚本

sh '''/var/lib/jenkins/sonar-scanner/bin/sonar-scanner -Dsonar.source=./ -Dsonar.projectname=${JOB_NAME} -Dsonar.projectKey=${JOB_NAME} -Dsonar.java.binaries=./target/
-Dsonar.login=e41b78482304960ec151846565482790b1738469'''

10 把这条语句添加到gitlab中的jenkinsfile中,再次编译。

 

 

11. 通过docker制作自定义镜像。

mv target/*.jar docker/
docker build -t ${JOB_NAME}:${tag} ./docker/
12.生成流水线语法语句

sh '''mv target/*.jar docker/
docker build -t ${JOB_NAME}:${tag} ./docker/
'''

 

 

13.再次编译会发现在本地已经有了新的镜像。

 

 

14 将镜像推送至harbor仓库中。

environment{
         harborUser = 'admin'
         harborPassword = 'Harbor12345'
         harborAddress = '192.168.30.107:5012'
         harborRepo = 'repo'
    }
sh '''docker login -u ${harborUser} -p ${harborPassword} ${harborAddress}
docker tag ${JOB_NAME}:${tag} ${harborAddress}/${harborRepo}/${JOB_NAME}:${tag}
docker push ${harborAddress}/${harborRepo}/${JOB_NAME}:${tag}
'''

 

15 此时去harbor 中去看,已经生成了新的镜像。

 

 

16 pipeline 通知目标服务器部署项目。

 

 

 

 

 

 

 

 

 

 

deloy.sh $harborAddress $harborRepo $JOB_NAME $tag $container_port $host_port

 

sshPublisher(publishers: [sshPublisherDesc(configName: '192.168.30.106', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: "deloy.sh $harborAddress $harborRepo $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)])

 

17.再次编译,完成以后目标服务器上出现了新的容器

 

 

18. 构建后钉钉通知消息。

 

 

posted on 2022-10-10 16:51  FLOWERS_WAN  阅读(111)  评论(0)    收藏  举报