基础组件安装:
一、使用jenkins的pipline管道方式进行构建
1、【新建】——》【pipline】,随便取一个不重名的名字加以区分
image.png
2、填写项目名称和描述信息
image.png
3、编写groovy脚本
image.png
4、完整脚本:
node('system-test') {
def mvnHome = tool 'maven'
stage('Preparation') { // for display purposes
parallel 'Extract':{
dir('common-service') {
git credentialsId: '103',url: 'ssh://git@xxxx/base/common-service.git'
}
dir('touna-common-service') {
git credentialsId: '103',url: 'ssh://git@xxxx/base/touna-common-service.git'
}
dir('touna-common-utils') {
git credentialsId: '103',url: 'ssh://git@xxxx/base/touna-common-utils.git'
}
dir('order-management') {
git credentialsId: '103',url: 'ssh://git@xxxx/credit/order-management.git'
}
}
}
stage('Build') {
// Run the maven build
if (isUnix()) {
sh "'${mvnHome}/bin/mvn' -f common-service/pom.xml -Dmaven.test.skip=true clean install"
sh "'${mvnHome}/bin/mvn' -f touna-common-service/pom.xml -Dmaven.test.skip=true clean install"
sh "'${mvnHome}/bin/mvn' -f touna-common-utils/pom.xml -Dmaven.test.skip=true clean install"
sh "'${mvnHome}/bin/mvn' -f order-management/pom.xml -Dmaven.test.skip=true clean install"
} else {
bat(/"${mvnHome}\bin\mvn" -Dmaven.test.failure.ignore clean package/)
}
}
stage('Deploy') {
}
}
5、脚本说明:
node:标识节点名称,比如可以填写master主节点,这里system-test表示从节点
stage:表示构建阶段(名称可以随便取,这里为了区分)
parallel :表示并行执行(可以同时拉取n个仓库)
dir:表示打包后生成的项目根目录
credentialsId:git拉取代码凭证ID
git:需要配置拉取git代码凭证ID和URL地址
备注:目前我通过这种pipline管道的方式只能实现编译打包,但是无法执行shell脚本,研究了一下也没弄出来,具体不知道是因为什么原因,如果有大神知道的话还望多多指教,先在这里谢过了!
image.png
关于这个拉取git代码的凭证ID(credentialsId)就是之前配置git拉取代码凭证的时候指定的那个ID值
image.png
image.png