jenkins+gitlab webhooks 实现自动触发打包

说明:实现代码在gitlab上的提交后立马自动进行jenkins的job构建

安装插件:

     Gitlab Hook Plugin 

     Build Authorization Token Root Plugin

     Parameterized Trigger plugin (可选)

     Build Pipeline Plugin(可选)

通过  openssl rand -hex 10 命令随机生成一个字符串,用于远程构建的令牌(token)

 

jenkins 配置

jenkins+gitlab webhooks 实现自动触发打包

gitlab配置:

选中项目后,点击 settings ----->webhooks,添加

http://10.10.10.11:8080/jenkins/buildByToken/build?job=test_pipeline&token=80522a5c8be0812ac4f9

注释:绿色为jenkins url地址,蓝色为固定格式,红色为job名称和tocken令牌

jenkins+gitlab webhooks 实现自动触发打包

测试一下

jenkins+gitlab webhooks 实现自动触发打包

测试结果如图表示正常:

jenkins+gitlab webhooks 实现自动触发打包

pipeline脚本(jenkins里设置)

pipeline {
agent any
environment {
def ITEMNAME = "flagship"
def SRCCODE_DIR = "/root/.jenkins/workspace/test_pipeline/flagship-bigdata/"
}
stages {
stage('代码拉取并打包'){
steps {
echo "checkout from ${ITEMNAME}"
checkout ([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: 'b96e05e1-193f-4e06-9195-fcaf31f579e9', url: 'http://10.10.10.217/test/test.git']]])
echo "开始打包 "
sh 'export JAVA_HOME=/usr/local/java/jdk1.7.0_80 && cd $SRCCODE_DIR && mvn clean install -DskipTests -Denv=beta'
}
}
}
}

此处脚本只演示gitlab代码拉取与项目打包

以上设置完成后,gitlab有代码更新就会自动触发jenkins 执行job

效果图展示:

jenkins+gitlab webhooks 实现自动触发打包

jenkins+gitlab webhooks 实现自动触发打包

上一篇:更改jupyter notebook的单元格宽度和主题颜色(theme)


下一篇:老猪带你玩转android自定义控件二——自定义索引栏listview