Jenkins + Pipeline 構(gòu)建流水線發(fā)布
- 利用Jenkins的Pipeline配置發(fā)布流水線
pipeline
新建一個名為pipeline-loop的 pipeline項目,然后配置磁浇,關(guān)鍵配置如下:
- 生成pipeline可以用的git連接(通過此鏈接索守,從私有g(shù)itlab拉取代碼)
Pipeline生成: https://jenkins.aniu.so/view/Pipeline/job/pipeline-loop/pipeline-syntax/
pipeline-syntax
生成的pipeline代碼如下螃诅,后面配置會用到:
checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: '500378f5-a6e4-4255-984e-61537fe0e455', url: 'git@gitlab.aniu.so:aniu-yunwei/game-of-life.git']]])
- 配置pipeline-loop項目
pipeline {
agent any
stages {
stage('Checkout') {
steps {
echo 'Checkout'
checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: '500378f5-a6e4-4255-984e-61537fe0e455', url: 'git@gitlab.aniu.so:aniu-yunwei/game-of-life.git']]])
}
}
stage('Build') {
steps {
echo 'Building'
sh 'mvn clean install' # 可以用自己的 mvn clean deploy + 參數(shù)替代
}
}
stage('Test') {
steps {
echo 'Testing'
sh 'mvn clean verify sonar:sonar' # 此處可以使用mvn test替代驳规,筆者這步是檢測代碼的質(zhì)量同步到自己的代碼質(zhì)量檢測平臺揪胃。
}
}
stage('Deploy') {
steps {
echo 'Deploying'
sh 'mvn clean deploy' # 此處調(diào)用腳本或者ansible、saltstak缰猴,部署到遠程
}
}
}
}
配置完成保存产艾,然后build此項目,查看結(jié)果如下:
pipeline-test