关于 jenkins gitlab 自动化部署的疑问?

2018-07-20 16:28:39 +08:00
 lc1450

组长让我用 jenkins gitlab 搭建自动部署平台,我也是第一次接触这些。在本地搭了环境,能勉强实现 git push 后触发 jenkins.

我的想法是,要实现自动化的话,开发人员不用操作 jenkins,所以我得写一个录入任务的页面给开发,然后调用 jenkins 的 api 生成任务.这样的话,可以只用一个 jenkins 账户来管理任务, 但是这样好像有安全问题.

网上找了很多教程,但都是演示(单用户),我想问下大家,像这种平台在线上是怎么运作的(用户权限管理 /任务管理),希望大家给一点建议,谢谢.

5242 次点击
所在节点    DevOps
14 条回复
lhy360121
2018-07-20 17:00:34 +08:00
jenkins 有用户系统的。 可以开放一些 job 给开发点点点。


一些自动触发 job,用单独的用户。
alvinbone88
2018-07-20 17:20:28 +08:00
wxsm
2018-07-20 17:24:07 +08:00
最近刚好做了类似的工作,不过使用 gitlab 内置的 CI,实话说比 jenkins 好用多了,该有的功能也都有,也省去了集成的麻烦。了解一下?
jinhan13789991
2018-07-20 17:29:33 +08:00
建议使用 docker 搭建实现 很简单的~
beginor
2018-07-20 17:31:26 +08:00
用 gitlab ci 才是正确的方式, 建议是一台计算机,docker 还是有一些坑要踩的
wingyiu
2018-07-20 20:43:08 +08:00
@beginor 然后真实的 ci 和 cd 流程比较复杂,自动和半自动,审核,更新配置和 db,全自动 ci 不靠谱
queue
2018-07-20 22:09:19 +08:00
@wxsm 请问一下 gitlab 的 CI/CD 功能,如何在 gitlab 的页面一键回滚呢?前一阵子也在入 gitlab 的这个坑,然后发现页面上面无法回滚。望赐教。
queue
2018-07-20 22:10:46 +08:00
jenkins 有插件可以实现针对不同角色进行权限控制,能达到多角色多用户权限控制的效果
autotesting
2018-07-20 23:43:48 +08:00
jenkins 配置 gerrit trigger,这样 jenkins 就能监听提交,然后自动触发呀。
beginor
2018-07-21 06:19:04 +08:00
@wingyiu 对,我们也是半自动化流水线。 手动更新配置和数据库,自动化常规更新。
dreampuf
2018-07-21 08:19:42 +08:00
你需要 gitlab-ci


@queue https://docs.gitlab.com/ee/ci/triggers/README.html#making-use-of-trigger-variables 根据环境变量执行特定任务,比如回滚。如果需要细粒度权限控制还是在 Jenkins 上做吧。如果还是因为技术达不到、没有 DevOPS 文化、没有完整测试集、发布成本大、不完善的发布策略,持续集成 /部署就只是一堆脚本。
zqcolor
2018-07-21 10:23:40 +08:00
git + jenkins + jfrog

大概流程如下:
开发的 git push 后,git 有 post-receive hook 可以 curl jenkins 的 job,然后 jenkins 的 binary 送到 jfrog,然后是开发的在 jfrog 里面可以下载 binary

jenkins 里面的 build account 需要有权限获取 git 代码和操作 build server,不用管理员权限。

管理员生成任务 job, 或者建立一个专门的任务账号只生成任务 使用 rest api
wbswjc
2018-09-04 20:52:00 +08:00
@queue gitlab environment, 不过是和 gitlab CI 紧密结合的, gitlab CI 是成体系的一套东西, 如果用 jenkins, 只能自己实现了
queue
2018-09-04 21:38:10 +08:00
@wbswjc gitlab environment 可以做到界面一键回滚吗?搜了一下看官方文档并没有找到对应的介绍,能否给下相关的参考链接呢?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/472708

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX