Bitbucket 触发内网 Jenkins Build


系统环境:

Bitbucket v4.5.2
Jenkins 2.60.3


在 Jenkins 上添加一个用来自动构建的用户: autobuilder
1334255-20190325111533104-393893953.png
如果需要,你可以调整 autobuilder 的用户权限
系统管理 -》Configure Global Security -》 授权策略 -》项目矩阵授权策略
1334255-20190325112055970-706084848.png

在项目中我们需要开启 "触发远程构建",并输入一个 "身份验证令牌",该值你可以从 https://randomkeygen.com/ 轻松的生成一个合格的身份验证令牌。
1334255-20190325112508833-564282472.png
我们可以在红色方框处获得触发远程构建的URL, 替换 TOKEN_NAME 的值为:
http://192.168.0.218:8888/job/test-bitbucket/build?token=8PwPjSxOd1huEQZYpDr0qQJrCndcfxgu

我们还需要为这个URL添加认证信息,使用 autobuilder 用户登录 jenkins 服务器中,点击右上角 "autobuilder" -》"设置" -》“Show API Token” 获得该用户的认证信息。
1334255-20190325113553894-18726726.png
获得上面的信息后后就可以拼出完整的 URL :
http://autobuilder:f245bb703a1b39594d1f4f48784ddd27@192.168.0.218:8888/job/test-bitbucket/build?token=8PwPjSxOd1huEQZYpDr0qQJrCndcfxgu

可以通过使用 curl 命令来测试

curl http://autobuilder:f245bb703a1b39594d1f4f48784ddd27@192.168.0.218:8888/job/test-bitbucket/build?token=8PwPjSxOd1huEQZYpDr0qQJrCndcfxgu

公司使用的 bitbucket 是在外网上的,内部的 Jenkins 无法被 bitbucket 访问, 公司内部的公网IP,我们把公司的IP的 8888 端口通过路由器进行 NAT 映射到 192.168.0.218 的 8888 端口上
然后在外网的机器上使用 curl 来进行测试

curl http://autobuilder:f245bb703a1b39594d1f4f48784ddd27@替换你的公网IP:8888/job/test-bitbucket/build?token=8PwPjSxOd1huEQZYpDr0qQJrCndcfxgu

测试成功后,开始对 bitbucket 进行配置,首先添加插件,点击 "管理" -》"寻找新插件",搜索 "hook" ,安装 "HTTP-Request Hook for Bitbucket Server"
1334255-20190325114959237-1920993601.png

进入项目中,点击 "Settings" -》“Hooks” -》启用 "HTTP Request Post-Receive Hook",填入信息
1334255-20190325115257246-213455034.png

注意:Username 填入 autobuilder,Password 填入 用户的认证信息

当你向该 Bitbucket 项目的代码库中提交代码,Bitbucket 在收到代码推送后会使用我们在 Hooks 中设置的 URL 发送 http 请求,内网中的 Jenkins 服务器收到请求后触发一个新的 Build。

转载于:https://www.cnblogs.com/klvchen/p/10592673.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值