使用jenkins pipeline插件构建一个job,主要是:从gitlab拉取代码–编译–sonar分析–quality gate判断是否通过质量阀
脚本如下:
node {
def mvnHome
stage(‘Preparation’) { // for display purposes
// Get some code from a GitHub repository
git branch: ”, credentialsId: ”, url: ”
// Get the Maven tool.
// ** NOTE: This ‘M3’ Maven tool must be configured
// ** in the global configuration.
mvnHome = tool ‘maven’
}
stage(‘Build’) {
// Run the maven build
if (isUnix()) {
sh “’{mvnHome}/bin/mvn’ clean org.jacoco:jacoco-maven-plugin:prepare-agent install -Dmaven.test.failure.ignore=true”
} else {
bat(/” {mvnHome}/bin/mvn’ clean org.jacoco:jacoco-maven-plugin:prepare-agent install -Dmaven.test.failure.ignore=true” } else { bat(/” {mvnHome}\bin\mvn” clean org.jacoco:jacoco-maven-plugin:prepare-agent install -Dmaven.test.failure.ignore=true/)
}
}
stage(‘Sonar’) {
withSonarQubeEnv(‘sonar’){
if (isUnix()) {
sh “’{mvnHome}/bin/mvn’ sonar:sonar”
} else {
bat(/” {mvnHome}/bin/mvn’ sonar:sonar” } else { bat(/” {mvnHome}\bin\mvn” sonar:sonar/)
}}
}
sleep(10)
stage(‘Quality Gate’) {
timeout(3) {
def qg = waitForQualityGate()
echo “—before qg: qg.stat<
初识jenkins pipeline
最新推荐文章于 2022-03-09 16:36:36 发布