请教 jenkins 发布流程的问题

2020-05-12 10:02:57 +08:00
 rqxiao

现在机器 a 上装了 jenkins 其中配置了节点 机器 b 的信息,想要在机器 b 上发布项目

1.git 上拉取代码 2.打包

最后在 b 上启动

1 和 2 这两部是在 a 还是 b 上完成的额

3949 次点击
所在节点    程序员
33 条回复
BlackBerry999
2020-05-12 15:11:38 +08:00
回答离 A 和 B 都有,应该相信谁呢?
julyclyde
2020-05-12 15:29:10 +08:00
回答 A 的朋友们是不是没看清 B 是 jenkins slave 啊?
Chengxians
2020-05-12 15:33:59 +08:00
jenkins 就该干它该做的事,当然是 a 干完所有的,b 去拉去最新的包重新部署
haosamax
2020-05-12 17:43:22 +08:00
不会真有人在 b 上吧
A388
2020-05-12 17:47:15 +08:00
用 B 的也是厉害
hell0v2
2020-05-12 17:58:46 +08:00
技术上都可行,看具体业务和机器要求吧
figael
2020-05-12 18:00:16 +08:00
CI (编译):可在 A 或 B 执行,如果 B 是 A 的 slave 节点,而且被分配。如果仅仅是配置了 ssh,只会在 A 执行。
CD (部署):B 需要拉取 CI 阶段的产物来运行,这个产物可能在 A,或者 B 。
---
生产流程,一般 B 不能作为 jenkins slave 节点。
dolphintwo
2020-05-12 18:02:28 +08:00
A 送分题 下一个
jynstar
2020-05-12 20:53:36 +08:00
A
andj4cn
2020-05-13 07:39:26 +08:00
拉代码和打包是 A 做的,打包结束后包也放在了 A 或者上传到其他位置。这时候需要一步主动操作,就是怎么把包放到 B 上运行。这部分就很自由,一般都是手动操作把包从 A 拉到 B 运行,或者写一个额外的服务拉过来,或者打包结果是 docker 镜像的话 A 上传到私有镜像仓库,手动发布到 k8s 上去。总之拉代码和打包肯定是 A 做,发布视情况而定。
cominghome
2020-05-13 09:09:15 +08:00
@BlackBerry999 看补充的内容,B 不是 slave 。那显然 1 2 都是在 A 完成的,B 只负责运行代码
smilzman
2020-05-13 09:10:38 +08:00
首先,在 a 和 b 上打包都没问题,但是你思考一下,如果把问题换成在机器 a 上装了 jenkins,其中配置了节点机器 b 和机器 c 的信息,想要把项目 x 发布到机器 b 和机器 c 上,这样是不是就清晰了?

在发布到一台机子的时候,在哪里打包都一样,但是如果需要同时发布到 b 和 c 是不是需要打包两次、安装多套打包环境?
tingfang
2020-05-13 16:42:27 +08:00
反正不要在提供服务的机器上打包。

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

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

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

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

© 2021 V2EX