- 主题:怀念过去jenkins一把梭时代的ci/cd
测试和生产可能还是会有很大差异的吧。很多配置项都是build阶段作为变量传进去的。测试的包能直接跑在生产环境,其实也是个问题。
【 在 guestking 的大作中提到: 】
: 担心代码被改动
:
: 如果pull之后再checkout一个之前打过的tag,那风险就会小很多了
: ....................
- 来自「最水木 for iPhone Xs Max」
--
FROM 223.104.38.*
k8s管理凭证还是比较方便的
【 在 javafish (这不是一个昵称) 的大作中提到: 】
: 这种管理工具的访问凭证管理是大麻烦
--
FROM 221.220.225.*
配置项可以用过环境变量或者启动参数来配置,不需要动镜像或者代码
【 在 syssky (syssky) 的大作中提到: 】
: 测试和生产可能还是会有很大差异的吧。很多配置项都是build阶段作为变量传进去的。测试的包能直接跑在生产环境,其实也是个问题。
: - 来自「最水木 for iPhone Xs Max」
--
FROM 180.167.95.*
git有分支和标签, 这块的管理其实非常稳妥, gitlab和gerrit这些都带分支的protect功能. 简单的项目就是做专用的release分支, 生产环境按head发布, 不可能出现加入意外代码的情况.
【 在 guestking 的大作中提到: 】
: 测试完成之后 到 上线之前
: master分支被提交了新的代码
:
--
FROM 60.253.242.*
我知道,不过既然uat环境已经打包好了,最稳妥的办法还是直接用
没必要再打一次包
【 在 Mikov (Mikov Chain) 的大作中提到: 】
: git有分支和标签, 这块的管理其实非常稳妥, gitlab和gerrit这些都带分支的protect功能. 简单的项目就是做专用的release分支, 生产环境按head发布, 不可能出现加入意外代码的情况.
--
FROM 180.167.95.*
看标题吓我一跳,还以为自己out了。
实际上,aws+jackins,一样就是点点点就完事儿啊,舒服的很。
--
FROM 210.77.180.*
生产和测试用的nexus私服肯定是同一个, 依赖的一致性没问题
在生产环境构建, 解决的问题是两个:
1. 减小传输代价. 因为是远程发布, 几十上百M的文件传输会占发布时间的大头. 对于一个项目十几个模块的完整发布, 这个代价太大了, 如果有紧急修复, 根本等不起.
2. 生产隔离. 生产环境对研发和测试可以做到完全隔离. 那些在本地构建的, 你是可以把一部分参数配到脚本里, 但是你的jar包war包里面几乎是一定会带着生产配置. 用远程构建可以很好避免这个问题.
【 在 sayinger 的大作中提到: 】
: 那你得确保所有的依赖都是稳定的,不仅仅是你自己的代码。
: 其实既然在测试环境已经完成了构建,直接拷贝到生产环境不是更直接么
:
--
FROM 60.253.242.*
【 在 Mikov (Mikov Chain) 的大作中提到: 】
: 生产和测试用的nexus私服肯定是同一个, 依赖的一致性没问题
: 在生产环境构建, 解决的问题是两个:
: 1. 减小传输代价. 因为是远程发布, 几十上百M的文件传输会占发布时间的大头. 对于一个项目十几个模块的完整发布, 这个代价太大了, 如果有紧急修复, 根本等不起.
设计好镜像分层可以在很大程度上解决这个问题,否则你扩容的时候也会存在镜像传输过大的问题。
: 2. 生产隔离. 生产环境对研发和测试可以做到完全隔离. 那些在本地构建的, 你是可以把一部分参数配到脚本里, 但是你的jar包war包里面几乎是一定会带着生产配置. 用远程构建可以很好避免这个问题.
你说的这种配置,恐怕认为是代码更合适,无非写到哪里而已,否则只要修改就得重新build,岂不是更重,紧急调整的时候更等不起,或者是所谓“根本没打算改”的配置。没看出隔离了什么,传输源代码跟镜像的区别而已
--
FROM 221.220.225.*
我觉得我们说的不是一件事, 我说的是java项目跟镜像一分钱关系没有,
另外紧急修改不重新build, 莫非是要登shell换class? 逗我玩么, 现在都是jar发布你拿什么去换?
【 在 sayinger 的大作中提到: 】
: 设计好镜像分层可以在很大程度上解决这个问题,否则你扩容的时候也会存在镜像传输过大的问题。
: 你说的这种配置,恐怕认为是代码更合适,无非写到哪里而已,否则只要修改就得重新build,岂不是更重,紧急调整的时候更等不起,或者是所谓“根本没打算改”的配置。没看出隔离了什么,传输源代码跟镜像的区别而已
--
FROM 60.253.242.*
这么说, 你们应该是在代码仓库里维护了各个环境的配置了, 生产环境换一个profile就可以用?
【 在 guestking 的大作中提到: 】
: 我知道,不过既然uat环境已经打包好了,最稳妥的办法还是直接用
: 没必要再打一次包
:
--
FROM 60.253.242.*