Bitbucket 触发内网 Jenkins Build

前端之家收集整理的这篇文章主要介绍了Bitbucket 触发内网 Jenkins Build前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

代码部署在 Bitbucket 等环境中就只能通过轮询的方式来触发 Build。那么有没有办法通过 Bitbucket 的 Webhooks 功能在开发人员提交代码时触发 Build 呢?答案是肯定的,并且有很多种实现方式。

添加用来触发 Build 的用户

Manage Users 界面中点击 "Create User":

用户信息并创建用户,笔者创建的用户名称为 autobuilder。

用户的权限

用户,只有先赋予一定的权限,它才能够系统中的 Build。 Configure Global Security 配置界面,在 Authorization 的配置项中选择 "Matrix-based security",然后把 autobuilder 用户添进来:

用户合适的权限就可以了。

功能。进入 Project 的配置界面,在 "Build Triggers" 下面选中 "Trigger builds remotely":

生成一个合格的 Authentication Token。

内容就是一个可以触发 Build 的 URL 模板。接下来我们用 Jenkins 服务器地址替换模板中的 JENKINS_URL,用实际的 Authentication Token 替换模板中的 TOKEN_NAME。得到的 URL 为:

http:

用户登录到 jenkins 服务器中,点击右上角的用户名称进入用户信息界面,然后点击 "Configure" 进入配置界面。点击 API Token 小节中的 "Show API Token" 按钮:

http:

$ curl http:

http:

》。

登录主机 xxxengine.eastasia.cloudapp.azure.com, 在 SSH 服务器的@R_301_382@ /etc/ssh/sshd_config 中添加一行:

GatewayPorts yes

$ -fN -R :localhost: nick@xxxengine.eastasia.cloudapp.azure.com

用户 nick 建立到主机 xxxengine.eastasia.cloudapp.azure.com 的 SSH 连接。选项 fN 则让该远程转发以后台方式运行。登录到主机 xxxengine.eastasia.cloudapp.azure.com 上,执行 ss -tunl 命令查看端口的监听情况:

Webhooks" 进入 Webhooks 的配置界面。添加一个新的 webhook 配置,并且把我们在前面创建的最终版的 URL 设置其 URL:

代码库中提交代码,Bitbucket 在收到代码推送后会使用我们在 webhook 中设置的 URL 发送 http 请求。结果内网中的 Jenkins 服务器收到请求触发一个新的 Build。

Bitbucket 向 xxxengine.eastasia.cloudapp.azure.com 的 端口并且把接收到的请求通过 SSH 隧道发送到内网中 Jenkins 服务器上 localhost 的 端口,并且处理收到的请求。

内容 Jenkins 的访问。解决。

猜你在找的Azure相关文章