阅读 225

Coding如何配置webhook触发jenkins自动构建部署

前端

话说因为公司没有运维,所有环境的维护和发布上线不是开发搞就是作为测试的作者本人,又因为某些项目在构建时消耗资源巨大无法完成构建,导致原阿里云的jenkins服务器无法正确部署,而作者就在本地jenkins服务器开辟一个job,实现本地构建打包上传到生产服务器指定路径,再由生产jenkins服务器shell脚本一键部署。做到构建和部署分离,但现实情况是本地jenkins无法外网访问,最近很长一段时间都是在家构建部署,如果因为紧急发布,就无法在本地打包了,故而作者也提供了CLI命令触发jenkins构建,只需要通过jumpserver跳板机去执行shell脚本即可。但是的但是,这样还是不方便,当然没有直接访问jenkins点击触发来得方便。所以作者也有点无赖,怎样才能解决这个问题呢?

想法

本地jenkins大多都是手动构建,就连执行的自动化测试脚本也是通过定时任务去完成的。那么这个难搞的项目可以通过这种方式吗?不大好的设想,毕竟不是每次都需要构建上生产的,也不是一周一个迭代,那么能不能像之前配置github一样,通过git代码仓库的代码push来触发呢?先提一嘴,当前公司使用的coding作为代码仓库,而没有在本地搭建gitlab服务器;再说一个条件就是本地jenkins无法外网访问!excuse me?

巧合

首先,coding是支持在项目设置webhook触发jenkins机制的,测试环境有一个域名暂时使用频率很低,甚至可以说是弃用了;

然后就通过测试环境配置nginx代理到本地jenkins服务器上去了;所以你懂得,前提条件满足了,只要撸起袖子加油干就好了。

说干就干

首先要安装的就是jenkins的功能插件:Coding Webhook Plugin

image.png

在job配置--构建触发器,勾选Coding就好,得到webhook地址,记住这个域名必须是外网可以访问的

image.png

在jenkins系统管理--系统配置的Jenkins Location地址也要是同一个域名

image.png

现在去登录coding--项目--选择左下的项目设置

image.png找到开发者选项,进入service hook,点击新建Service Hook

image.png默认选择webhook下一步即可

image.png

在选择代码推送、合并请求,下一步

image.png

服务URL就是jenkins上job构建触发器的coding得到的webhook地址

image.png

点击测试完成后,再点击状态后面的发送记录,看到测试的记录(自由状态是绿色,代表是成功的,但是jenkins并不会构建)

image.png

所以需要自己在项目中修改并push代码,再去jenkins看效果就好。

image.png

总结

苦心人天不负,总算是完成这一大举措,既支持本地cli脚本出发,又支持自动构建,这样可以说是两全其美,唯一的问题就是域名要是突然要去做测试,那jenkins的这个webhook地址可能就失效了,为今之计仍不够完美,希望会有更多解决方案吧!


作者:我先测了
链接:https://juejin.cn/post/7057719041313472548


文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐