kubesphere自动触发在两种情况下是不同的:
第一种是选择构建仓库,在高级设置中会有自动触发的配置,详情见官方文档,自动触发部分有详细介绍
第二种是不选择构建仓库,通过自定义jenkinsfile或者图形化界面创建CICD流程,这里只提供了cron 定时触发构建和远程脚本触发构建。而我们希望的是也可以实现gitlab事件自动触发构建,具体怎么做呢?经过验证,以下方案可行。
kubesphere开放了依托的jenkins的访问,我们可以在jenkins中看到在kubesphere中创建的流水线
1、在设置自动触发之前,需要安装一个插件 gitlab
2、配置gitlab服务
系统管理 》系统配置 找到gitlab 配置自己的信息,这里用的gitlab 的private token可在gitlab个人账户界面获取,凭据类型api token
系统管理 》系统配置 找到gitlab服务列表,配置信息,这里需要勾选管理webhook,凭据配型,gitlab个人令牌
3、回到流水线配置界面,选择
构建触发器下的build when a chanage is pushed......
两个信息第4步要用到 1、GitLab webhook URL
2、高级中点击generate生成的token
4、到gitlab项目设置下》Integrations下
在URL和secret Token位置相应填写第三步保存的信息(注意URL如果所给域名不能解析请换成对应IP或者配置hosts),然后点击 add webhook,测试,通过就会发现 对应流水线正在执行
测试提交代码,自动触发成功