76 Star 481 Fork 93

开源中国 / Gitee Jenkins Plugin

 / 详情

是否支持Jenkins pipeline以及multibranch pipeline开启gitee webhook

待办的
任务
创建于  
2021-02-26 12:18

任务描述

接着上一个被强制关闭的issue说起
#I38FKV:是否支持Jenkins pipeline以及multibranch pipeline开启gitee webhook

任务来源

引用

关于密码问题,可以参考下这个:
https://github.com/jenkinsci/generic-webhook-trigger-plugin/issues/107

发现这个链接只是讨论如何使用withCredentials在declarative的Jenkinsfile下适配generic-webhook-trigger-plugin, 和你们的Gitee Jenkins Plugin的写法有很大的出入.
而我之前发的回复就是严格按照这个宣言式的Jenkinsfile格式添加的withCredentials的写法.

解决方案

个人觉得gitee如果要广泛适用于企业级别的CI/CD流水线代码仓库的话, 这个加密问题如果无法适配到jenkins原生的withCredentials, 我觉得想比肩github还是困难比较大的.

而且这种没有看清楚具体问题, 而强制关贴的氛围也非常不友好(至少我在github上试用一些小工具发现问题提了issue, 这些素未谋面的老外还是非常友好而且非常乐于解决问题)

评论 (4)

sh0werlee 创建了任务
展开全部操作日志

为了表示我的诚意, 这是我自己写的宣言式Jenkinsfile适配github的withCredentials
https://github.com/showerlee/gradle-demo-with-docker-multibranch/blob/master/Jenkinsfile#L46

本身Jenkinsfile里面不需要有任何webhook的配置就直接能够集成github.

如果觉得我的issue提的没有意义, 那就直接close吧.
毕竟是免费插件, 我还是非常尊重你们的劳动成果
但这个gitee我觉得对我个人而言的确没有什么使用价值

sh0werlee 修改了描述
sh0werlee 修改了描述

triggers无法通过我们的修改来支持withCredentials,我只能给您另外的参考解决方案,所以我关闭了这个issue,关于如何更安全的使用这个token,您可以在原issue继续留言,我仍会尽我所能提供最大帮助,无论这个issue是否关闭。

至于解决的方案,如果不想在脚本中暴露明文密码,可以使用环境变量方案,在jenkins中添加全局环境变量
输入图片说明
脚本中创建触发器时填写secretToken时引用变量:secretToken: "${env.GITEE_TOKEN}"
这样就可以避免在Jenkinsfile中使用明文密码,至于需不需要用到凭证管理,我觉得没有必要,因为这个secretToken在配置中最终是明文显示的:
输入图片说明

感谢@silverballer的解答.
这个通过引入环境变量的解决方案虽然能够避免在源脚本中明文暴露token, 但是并无法解决密码会显示的暴露在Jenkins build日志里.

而使用withCredentials除了方便管理和调用, 另外一个好处就是他本身就会通过***在日志里屏蔽敏感信息.
这是我的使用它屏蔽TOKEN的截图
输入图片说明
而且在生产上使用这个方法, 仍然存在如下几个问题:
1.无法对ci的秘钥进行集中管理, 需要第三方加密工具引入
2.无法完全CI/CD代码化(也就是俗称的pipeline as code)
3.无法屏蔽日志敏感信息.
4.变量明文配置在CI后台, 存在安全隐患.

其实我觉得如果贵插件能够兼容withCredentials使用那将是非常好的.
否则还是建议参考github插件, 将这层hook配置与Jenkins的blueocean集成 或者能够将这个配置剥离出pipeline的配置当中.
这样子也能够实现github与很多CI视图进度集成的功能.
输入图片说明

这些功能实现了, 我觉得gitee在国内的受众会多很多.
当然这只是我的个人理解, 仅供参考.

Yashin 关联项目设置为公有云-架构
李智烽 关联项目公有云-架构 修改为架构支撑

现在我使用的方法是,gitee事件触发jenkins job A,job A直接传递参数调用其他的jenkinsfile的build job B和test job C。这样是不是避过了一些你们提到的一些credential的对接问题?

登录 后才可以发表评论

状态
负责人
项目
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(3)
2102225 silverballer 1578966245
Java
1
https://gitee.com/oschina/Gitee-Jenkins-Plugin.git
git@gitee.com:oschina/Gitee-Jenkins-Plugin.git
oschina
Gitee-Jenkins-Plugin
Gitee Jenkins Plugin

搜索帮助