系统
gitlab server
[root@gitlab-server-63 ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
安装gitlab 请参考gitlab cicd (一)系列之安装gitlb
本文安装的版本,如下图
jenkins server
[root@jenkins-66 ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
安装请参考jenkins之安装篇
jenkins 需要安装gitlab 相关的三个插件
安装完成 需要重启jenkins
配置jenkins的webhook
创建jenkins job
配置job的gitlab webhook信息(默认就行)
配置job的gitlab project信息
配置凭证,凭证的token需要从gitlab取
配置完成
接下来 配置gitlab project,项目结构如下,gitlab project 的根目录必须有一个名字叫做Jenkinsfile
的文件,否则会报错
报错信息如下
Jenkinsfile的内容如下
pipeline {
agent none
stages {
stage('Build') {
agent {
docker {
image 'xx/xx/ceres-build:jdk8'
}
}
steps {
sh 'cd /var/jenkins_home/workspace/cicdtest/OpenUrl/src/pyrmont/'
sh 'pwd'
sh 'ls'
sh 'javac /var/jenkins_home/workspace/cicdtest/OpenUrl/src/pyrmont/*.java'
sh 'cd /var/jenkins_home/workspace/cicdtest/OpenUrl/'
sh 'echo ====================/openurl================================'
sh 'ls /var/jenkins_home/workspace/cicdtest/OpenUrl/src/pyrmont/'
sh 'echo ====================/openurl==================---========'
sh 'jar cvfm /var/jenkins_home/workspace/cicdtest/OpenUrl/pyrmont.jar /var/jenkins_home/workspace/cicdtest/OpenUrl/mymanifest -C /var/jenkins_home/workspace/cicdtest/OpenUrl/src/ .'
sh 'ls /var/jenkins_home/workspace/cicdtest/OpenUrl/'
}
}
stage('Deploy') {
agent {
docker {
image 'xxxx/xx/image-builder:v2.2'
}
}
steps {
sh 'pwd'
sh 'ls'
sh 'echo ***********************************************************************'
sh 'ls /var/jenkins_home/workspace/cicdtest/OpenUrl/'
sh 'docker build -t xx/create-cicd-hub/cicdtest-java:v1127 .'
sh 'docker push xx/create-cicd-hub/cicdtest-java:v1127'
}
}
}
}
配置gitlab的webhook
需要两个内容第一个就是gitlab webhook 触发jenkins的url,也就是http://10.39.47.65:8080/project/gitlab-pipeline
第二个就是gitlab访问jenkins服务的Secret Token,也就是8c987f095f5ea94260c62b8d056486a5,获取Secret Token的方法 如下图
就可以看到
在添加的gitlab webhook时需要加上以上两个内容
配置完成
开始测试
提交代码到gitlab project 就可以大功告成了
end