请教 jenkins 发布流程的问题

2020 年 5 月 12 日
 rqxiao

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

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

最后在 b 上启动

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

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

在发布到一台机子的时候,在哪里打包都一样,但是如果需要同时发布到 b 和 c 是不是需要打包两次、安装多套打包环境?
tingfang
2020 年 5 月 13 日
反正不要在提供服务的机器上打包。

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

https://study.congcong.us/t/670807

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

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

© 2021 V2EX