jenkins(十八):Jenkins-pipeline(2):开发阶段pipeline:gitlab和Jenkins-pipeline自动集成

GitLab与Jenkins Pipeline自动集成步骤
本文介绍了开发阶段GitLab和Jenkins - pipeline自动集成的步骤,包括Jenkins系统管理、安装插件,GitLab生成和添加token,Jenkins配置token和job设置等。还进行了测试,提交文件后Jenkins能自动构建,最后提到提交merge request时让Jenkins构建状态在GitLab显示。

Jenkins-pipeline(2):开发阶段pipeline:gitlab和Jenkins-pipeline自动集成

步骤

  • Jenkins配置gitlab,系统管理-系统设置
  • Gitlab生成API token给Jenkins配置
  • Jenkins增加构建触发器,勾选gitlab,同时生成token
  • Gitlab创建webhook,填写Jenkins job的URL和token

 

Jenkins系统管理

安装Gitlab Authentication plugin、GitLab Plugin这两个插件。

 

 

 

 

gitlab生成token

 

 

 

 

huHJisZgK2_KGN23BtMe

 

 

 

Jenkins配置token

 

 

 

Jenkins-job设置

 

 

 

gitlab新建分支

 

 

 

jenkins生成token

 

 

2e128d8103ebd6320ff45e3af7603b21

 

gitlab添加jenkins-job的token

 

 

 

 

 

 

 

 

测试一下

我的Jenkins配置

 

 

node ("master"){

    stage('第1步拉代码'){

        echo "拉代码"

        git credentialsId: '03fd8295-c536-4871-9794-1c37394676e0', url: 'git@gitlab.corp.zhaonongzi.com:wangxu/ops.git'

    }

    stage('第2步编译'){

        echo "编译"

        sh "source /etc/profile && /usr/local/maven/bin/mvn clean compile"

    }

    stage('第3步发送文件'){

        echo "打包,有一个mail模块是系统级别的,需要sudo"

        sh "sudo /usr/local/maven/bin/mvn package"

        echo "完成后 修改一下权限,否则下一次麻烦"

        sh "sudo chown -R  jenkins: ."

        sh "find -name '*SNAPSHOT.jar' "

    }

    stage('第四步单元测试'){

        echo "单元测试"

    }

    stage("放到下载服务器上"){

        sh "sudo cp ./account-email/target/account-email-1.0.0-SNAPSHOT.jar /home/admin/webserver/html/download && sudo chown  -R admin: /home/admin/webserver/html/download"

    }

}

 

 

 

我们下载dev分支,提交一个测试文件

 

 

 

我们刚提交完成,Jenkins就自动构建了一次

 

 

 

我们去workspace查看一下刚才提交的测试文件是否被下载下来

 

 

 

 

我通过gitlab页面再提交一个

 

 

 

 

 

 

我们再查看一下gitlab-构建

 

 

 

gitlab显示pipeline

都没问题,我们要提交merge request,但我们想把Jenkins上构建成功的状态带过去。gitlab上也能直接跳转Jenkins上查看相关构建过程,让领导merge master的时候更有说服力。

你需要在Jenkins上添加 gitlabCommitStatus

 

node ("master"){

    gitlabCommitStatus {

        stage('第1步拉代码'){

            echo "拉代码"

            git credentialsId: '03fd8295-c536-4871-9794-1c37394676e0', url: 'git@gitlab.corp.XXX.com:wangxu/ops.git'

        }

        stage('第2步编译'){

            echo "编译"

            sh "source /etc/profile && /usr/local/maven/bin/mvn clean compile"

        }

        stage('第3步发送文件'){

            echo "打包,有一个mail模块是系统级别的,需要sudo"

            sh "sudo /usr/local/maven/bin/mvn package"

            echo "完成后 修改一下权限,否则下一次麻烦"

            sh "sudo chown -R  jenkins: ."

            sh "find -name '*SNAPSHOT.jar' "

        }

        stage('第四步单元测试'){

            echo "单元测试"

        }

        stage("放到下载服务器上"){

            sh "sudo cp ./account-email/target/account-email-1.0.0-SNAPSHOT.jar /home/admin/webserver/html/download && sudo chown  -R admin: /home/admin/webserver/html/download"

        }

    }

   

}

 

 

 

 

 

.

转载于:https://www.cnblogs.com/wangxu01/articles/11156626.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值