安装Gitlab 过程这里不进行搭建,可参考官方文档进行搭建。
前提环境:
- Jenkins
- Gitlab
- Kubernets(可忽略)
涉及插件:
注意点: GitLab Hook已弃用,安装插件请注意。同时需要了解pipeline看懂即可,此篇涉及知识点不大。
推荐查看信息GitLab插件介绍:https://github.com/jenkinsci/gitlab-plugin#jenkins-to-gitlab-authentication
一、创建Gitlab触发 流水线项目
将随机生成的secret token 复制下来,在接下来的步骤中会使用到
二、书写pipeline 流水线
pipeline {
agent{
node{
label 'jnlp-slave' //node节点调度在标签名称为jnlp-slave
}
}
stages {
stage('Git拉取代码') {
steps {
git 'http://192.168.11.178/root/aliyun.git'
}
}
}
}
三、Gitlab 配置通知Jenkins
1、找到对应的项目
2、Gitlab 配置 Jenkins信息
四、Jenkins查看是否成功触发
五、Pipeline 实现触发 GitLab
手动去生成secret Token一个项目还好若是上百上千个项目每次都去手动,可以想想工作量得多大为了减少操作,GitLab插件上实现了基于GitLab的trigger。
同时考虑到安全与方便性将secret Token定义为一个Jenkins全局变量。
1、secret Token(值保持原来的值)添加到Jenkins全局变量
2、修改对应的流水线语法(trigger)
pipeline {
agent{
node{
label 'jnlp-slave'
}
}
triggers {
gitlab(triggerOnPush: true,
triggerOnMergeRequest: true,
branchFilterType: 'All',
secretToken: "${env.jenkins}" //全局变量
)
}
stages {
stage('Git拉取代码') {
steps {
git 'http://192.168.11.178/root/aliyun.git'
}
}
}
}
3、再次手动构建完再gitlab手动推送测试