---jenkins安装Pipeline: Multibranch 流水线插件
---jenkins - 多分支流水线
-添加Jenkinsfile
-这里为了看效果就随便写了,将Jenkinsfile放到源码的根目录下
pipeline {
agent any
tools {maven "maven3.9"
jdk "jdk1.8"
}
options{timestamps()}
stages {
stage('拉取代码') {
steps {
checkout scmGit(branches: [[name: '*/mingfa']], extensions: [cloneOption(noTags: false, reference: '', shallow: false, timeout: 60)], userRemoteConfigs: [[credentialsId: '93665905-9310-42e5-bcbd-7641745be21b', url: 'https://gitee.com/qianbitou/Cronus.git']])
}
}
stage('mvn构建') {
steps {
sh '''cd $WORKSPACE/qbt-parent
mvn clean install -DskipTests'''
}
}
stage('项目部署') {
steps {
sshPublisher(publishers: [sshPublisherDesc(configName: 'mingfa-123.60.29.4', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: '''
cd /data/qbt/${start_name}/
mkdir -p jar bak
docker stop ${start_name}
sleep 5
mv ./jar/${start_name}.jar ./bak/${start_name}-`date +%F-%H-%M`.jar
docker rm -f ${start_name}
mv ${jarname} ./jar/${start_name}.jar
docker-compose -f /data/qbt/docker-compose.yaml up -d ${start_name}
''', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/data/qbt/base', remoteDirectorySDF: false, removePrefix: 'qbt-parent/qbt-base-ctrl/target/', sourceFiles: 'qbt-parent/qbt-base-ctrl/target/${jarname}')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: true)]) }
}
}
}pipeline {
agent any
stages {
stage("拉取代码"){
steps{
script {
echo "拉取代码"
}
}
}
stage("项目构建"){
steps{
script {
echo "项目构建"
}
}
}
stage("发布更新"){
steps{
script {
echo "发布更新"
}
}
}
}
}-触发构建
-项目代码在gitlab上,到项目上配置与jenkins的集成;
-找到jenkins,配置与jenkins连接参数;
-添加jenkins访问地址,Job项目路径名,账号即可;
-推送更新分支,测试触发构建;
签名:这个人很懒,什么也没有留下!