持续集成GitLab+Jenkins

1 环境准备

No 主机名 域名 作用 IP 安装
1 code code.local.com 代码版本管理 192.168.8.181 参考
2 jenkins jenkins.local.com 代码编译部署 192.168.8.183 参考

大致的目标如下:

① 开发人员提交代码到gitlab

② gitlab钩子触发jenkins执行构建,下载最新版本的代码

2 GitLab 准备

2.1 去掉创建账户的功能

点击设置 把Sign-up enabled的钩去掉,就可以去掉创建账户的功能

保存即可

2.2 创建组,创建项目

进去管理区域,点击New group

点击[创建群组]即可,如下图所示:

接下来,创建一个项目,并选择web组

点击[新建项目]即可,如下图所示:

接下来,创建一个用户

点击[new user ]即可,如下图所示:

定义初始密码

点击[save changes]即可

分配user1 给 web-demo

接下来在客户端,使用IDEA IDE 克隆项目:

使用上面创建的user1/1234qwer,登录


注意事项:新建项目往往还没有master分支,需要确认;另外如果权限是developer也要和分支匹配才行。
代码样例:https://gitee.com/actual-combat-study/web-demo.git

3 配置Jenkins

安装需要的Gitlab插件

点击[install without restart]即可,等待安装完毕重新启动Jenkins。

4 Jenkins主动拉取GitLab代码

4.1 创建一个新任务

点击创建一个新任务,输入任务名字,选择自由风格,点击确定既可

4.2 源码Git拉取编译

在源码管理添加源码路径,点击Add,添加认证,这里是git

截至到此暂停一下,插入以下小片段
如果jenkins服务器还没有安装git,可以在这块儿追加一下

$ yum install git

4.3 创建ssh key

检查jenkins服务器ssh key,并创建ssh

[root@jenkins ~]# useradd www
[root@jenkins ~]# cd
[root@jenkins ~]# passwd www
Changing password for user www.
New password:
BAD PASSWORD: The password fails the dictionary check - it is too simplistic/systematic
Retype new password:
passwd: all authentication tokens updated successfully.
[root@jenkins ~]# su www
[www@jenkins root]$ ssh-keygen -t rsa -C "user1@local.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/home/www/.ssh/id_rsa):
/home/www/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/www/.ssh/id_rsa.
Your public key has been saved in /home/www/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:gklNqLH06nOLJ09t9x711JSOIimIFT9BqwGqOBbixvE user1@local.com
The key's randomart image is:
+---[RSA 2048]----+
|   . ooo         |
|  + ooo o       .|
|.= =.o.+       ..|
|* *.+o+ . .   oo |
|+= Eoo..So ......|
|o..  . .. ...o   |
| .  . o . .   .  |
|  +oo. . . .     |
|  .*o.   .o      |
+----[SHA256]-----+
[www@jenkins .ssh]$ cat id_rsa
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-128-CBC,9792E02DE2571803471444D389184C1C

Q3zj5PixuyBUCZc3ZZ/3zdH+0ZPpq+SO+uVx3aWsKzLeQ+IqyTI+m6XCfWQjyElf
DNtO6HDx2d6hmrqDfA6qGvXSCOrIh3teoW2ye0NkOccxYhmevOpdRNsOv7YgI/N5
OAPoSM0pzTLEgyY6S6fBMT/J6YLVNQhiFf2hHk+43degnYMfUhMlylxwnt2Cec7h
Oxvq0wJj5Ia/O4VJruiUVYOzRj+s7ezhMM3p9lXUIE/RLEv7lt9P/1mtKz94MS3d
nTBfigR6lyNDcweTycpUAlOw7A3guCiABFZOPJ4wTKnar3gi/6cfXCUvkVQCYg0K
/EXEsI1auIg2Megkck/7mRtfqEwwI/xylIyu8AIPeHX+AzhsAjL11A+4VersbvCm
Zpk0/BEcQcRXKRzMpfM3L7xyfTHhtPTUauUgM2+1VwbS43vUWjKTlXtxTiVVLi2i
Ctco0Sozz7wJZ3GrsOuwV4QoDGy1sxMyw/OwOREl+3h9RblUgDQP4lVkih0WV5el
LqxBaGGWVv7luCyrur1xXb0P/SABxb+8CBWB/odTv723hlg0cosa+ShLBETE/yRK
wpuqXdTCEoko3OnhwHIspakrAfkINhBztWxPLzkZUvJ2Rx4J315Ggr/3freVxfne
yh+wJDltdu7zvBiJRFINfDKNMsaCWdTkIOjAMjDU/Bnm6M73ENhxqhQk18NxXH39
psRczallYd3FgXn7tM4sc3bcsy95x6flK1LMG5bcq8gLvyi3bvajIQrLBsBRp+8Z
v6/e7y5EJGEqDhNfALopBFZxsp8O7uIOkqf9RC5I+Hu6BH83BjvINScPfkCZBwmU
d06jNksUo48Z3AQESM8HNHNUD7pMGwDgbjgF4LXLvE6VAnnEouEWnuqfg+JwzoMQ
cAQIqOmFZwo9dKXxnrXQlgIA+4cYh8GVqSyAN/u20K16pDqxuQlalVgofuBveIb+
c9D2Z5dVzMfrays9f1AhYOnkrboCwH4QSnWSCVI9LU1+dV4u8B6SILh84xlXzi4k
OYRHeG6cC6ZVfoo+2SuN6P15Wpl49ojvkdprYBb333a1GrVlH6kT39lhuH4SITgq
OB5x1BkTWmfTgKSI7+IMWS0hTKLTGsrO00ZXd95Ejg8W5CX3jNvMEn0sizK3VhYF
IZW0Irqd/XW7UIBkpJF7cFy1Vx5q2BT3Dlm2jLYlYwms6fxftAyigMlgN+FQPJA1
4G2g1o5tkBlbM3dSw2pmx6uzSzDKPVHlseCJtEVKlYAMPCkoPWyeufTtXQNBB444
En2Wp920XNOH2IwvZJ4Hr1DawNAQLQzo8CGe+lZoP/E2mq2wW8WYvWwsg1dgR5KY
S3tSdy2rDosxbv+DX5lhpS3WHFFLpuka55LNURF6UoM6FZS14UAEfA2l1kwk5ls2
PgVNMvAqL0fQb3rhI6vYvYxlN8bJ2Qk31WRaICjU5XvOoMGsodwHO1vRJ0G5aB8s
+C2AUPJxQObm6zSu6XFdCpcyRu99DM/biU+yn8B/eoTjX5kIVYz8G5xFcKTofiou
/ocSmK5L2+wdGoCfIhQGR2Atuh/CJzXN67L61BWBYUl6ppM6pnb3KyRSu+RRwMDl
-----END RSA PRIVATE KEY-----
[www@jenkins .ssh]$ cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDPiPMUahJrgMcvJStly2IKuC+NswUnOiMZDkLVhh15gb3W0k3hZooPcmdTnIDfaWfye8CrPXdiJLVmBKhXj8RkjJtjc6ZWMQFg9lEjRAG9PcY4C/evg8Z8gPRn0187DdWnFKg9nZTxSIpJxp9cLTjV/zQ4QpmXuEoC2pMhTp2+sazB5Grcun0xj1I/aPd5iJAq6nvkQR+13OwgxcqFkuEW0fuz447PVt2lOGF9s9SawXQcO9qo+IaNiEQ/cU+bpqW7MWmqevklvDoWIgKzgUeOvGiV6j5EtS9n5PYt51Qrqgx6RML6gJvi9dgUqGOb87605WQqcqdLB0VMy2RYyBTp user1@local.com

4.4 GitLab代码仓库添加公钥

在GitLab代码仓库,添加4.3 产生的公钥


注意:这里公钥和接下来的私钥要进行匹配

4.5 Jenkins添加凭据

紧接4.2继续把4.3的私钥制作成编译代码的凭据

这里如果可以找到 Finished:SUCCESS

至此Jenkins拉取GitLab仓库代码成功搭建。

5 GitLab代码变更自动激活Jenkins编译

5.1 Jenkins中任务的设置

进入Job的新增或者编辑页面,找到 构建触发器 选项,选中 Build when a change is pushed to GitLab
其他选项可以默认不改

拷贝:http://jenkins.local.com:8080/project/auto-deploy
Secret token:61dc89deb8bbb55dc6917958957754b7

5.2 GitLab配置WebHook



出现以上200信息,说明WebHook成功


出现以上错误的时候,Admin area => Settings => Network需要配置一下:

这样使用Git上传到GitLab,然后观察Jenkins

参考:https://www.jianshu.com/p/63b012ee52ea
Jenkins初始化及常见问题整理 | zhimma's blog

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,298评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,701评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 107,078评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,687评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,018评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,410评论 1 211
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,729评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,412评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,124评论 1 239
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,379评论 2 242
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,903评论 1 257
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,268评论 2 251
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,894评论 3 233
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,014评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,770评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,435评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,312评论 2 260

推荐阅读更多精彩内容