jenkins - 多分支流水线 shell



---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项目路径名,账号即可;

-推送更新分支,测试触发构建;


签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回