代码拉取完成,页面将自动刷新
//流水线语法参考文档
//https://www.jenkins.io/zh/doc/book/pipeline/syntax/'
//包含执行整个流水线的所有内容和指令
pipeline {
//为整个流水线分配一个执行器 jenkins集群,然后在在执行流水线时,使用哪个节点的jenkins
agent any
//声明全局变量
environment {
//形式:key='value'
name='Nongsc'
}
//包含一系列一个或多个 stage 指令
stages {
stage('获取Gitte仓库代码'){
steps{
checkout scmGit(branches: [[name: '$branch']], extensions: [], userRemoteConfigs: [[url: 'https://gitee.com/t_demo/jenkis-demo.git']])
}
}
stage('通过maven构建项目'){
steps{
sh '/var/jenkins_home/apache-maven-3.6.3/bin/mvn clean package -DskipTests'
}
}
stage('通过sonarqube检测代码质量'){
steps{
sh '/var/jenkins_home/sonar-scanner/bin/sonar-scanner -Dsonar.source=./ -Dsonar.project=${JOB_NAME} -Dsonar.projectKey=${JOB_NAME} -Dsonar.java.binaries=./target/ -Dsonar.login=b67e09f2bcf590b493af4cf30fdd366ef6f9a99e'
echo '通过sonarqube检测代码质量 SUCCESS'
}
}
stage('制作docker镜像'){
steps{
sh ''' cp ./target/*.jar ./docker/
docker build --tag $host:$port/$repo/${JOB_NAME}:$imageVersion ./docker/'''
}
}
stage('上传harbor私有仓库'){
steps{
sh '''docker login -u admin -p Harbor12345 $host:$port
docker push $host:$port/$repo/${JOB_NAME}:$imageVersion'''
echo '上传harbor私有仓库 SUCCESS'
}
}
stage('通知服务器执行操作'){
steps{
sshPublisher(publishers: [sshPublisherDesc(configName: 'jenkins-test', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: "deploy.sh $deployIPort $repo $JOB_NAME $imageVersion $containerPort", execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '', remoteDirectorySDF: false, removePrefix: '', sourceFiles: '')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
}
}
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。