运维笔记<2> gitlab + jenkins打通

今天打开打通jenkins流水线了,我用的jenkins版本是2.492.3

1.api token生成

首先是生成api token,点击头像以后,在security页签里,点击生成新token按钮即可生成(需要备份)

2. jenkins credential生成

然后在jenkins上配置credentials:

a. 在jenkins中配置credentials

connection name自定义

gitlab host url为gitlab主页地址

credential需要在gitlab生成,见2.c

点Test Connection,可以看到success

注:如果遇到错误302,表示url没有填gitlab主页目录

如果报错401,表示gitlab token无效

b. 多网卡用户

如果多网卡用户,遇到jenkins访问地址不对的情况,可以配置jenkins url来指定

c. gitlab分配access token

建议是单独给jenkins分配一个账号+维护者权限

然后进入Preferences->Access Tokens

点击add new token

勾选read_api, read_user, read_repository三个权限

然后token就生成成功了

3. gitlab trigger jenkins

接下来的步骤相对自由,我接下来首先做的是打通gitlab trigger jenkins

a. 配置webhook

进入jenkins项目页的Triggers页签,可以看到gitlab的webhook链接

进入gitlab的项目页

点击Setting->Webhook,点击add new webhook

在url里输入之前jenkins查到的webhook

勾选两个trigger后

即可完成webhook的设置

当然这里可能遇到两个问题:

i. 可能问题1

gitlab一直报错: Invalid url given

这个需要让管理员在网络页签里勾选这个选项

ii. 可能问题2

点击Test按钮,报错:
Hook executed successfully but returned HTTP 403 <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/> <title>Error 403 anonymous is missing the Job/Build permission</title> </head> <body><h2>HTTP ERROR 403 anonymous is missing the Job/Build permission</h2> <table> <tr><th>URI:</th><td>/project/xscholar</td></tr> <tr><th>STATUS:</th><td>403</td></tr> <tr><th>MESSAGE:</th><td>anonymous is missing the Job/Build permission</td></tr> <tr><th>SERVLET:</th><td>Stapler</td></tr> </table> <hr/><a href="https://jetty.org/">Powered by Jetty:// 12.0.17</a><hr/> </body> </html>

这是因为只有webhook并没有job build的权限

我试了一下说可以在url后面带token的形式,但是实践并无法解决这个问题

当前通过开启jenkins的匿名用户访问解决,如果你们的jenkins是纯公网服务,需要解决该问题

这里记一下,待打通部署流程解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值