在部署它们之前,如何测试对Jenkins插件的更改?


14

如果您曾经被某个插件升级破坏了某些功能,那么您一定已经对这个问题有所考虑:Jenkins插件升级策略应该是什么?在部署变更之前,您如何测试?

有没有人试过运行虚拟作业的测试实例来测试新版本,还是只是祈祷升级版本不会破坏任何东西?


您是说让金斯的团队政策还是您(组织的)政策?
Dan Cornilescu

在升级之前,我将对Jenkins节点进行快照,然后对其进行测试。根据我的经验,詹金斯从来都不是关键任务组件。如果由于某个插件升级使它“故障”了15分钟,则通常不会以任何方式阻止生产,因此可以接受手动干预。当然,如果不是这种情况(并且Jenkins必须为100%HA),那不是正确的方法。
阿萨夫·拉维

@DanCornilescu我的组织政策,因为这是针对我们内部Jenkins服务器的
Michael Pereira

@AssafLavie这很大程度上取决于Jenkins的运行方式:独立服务器,VM,docker容器,kubernetes pod(我们的情况)。拍摄当前状态的快照以按原样还原可能并不容易。在我们的案例中,我们可以克隆保存Jenkins数据的EBS卷,但这是将容器和数据卷都恢复到特定状态的手动且耗时的过程。
Michael Pereira

嗨,@ MichaelPereira,如果以下两个答案中的任何一个都解决了您的问题,请考虑通过选中标记接受它。这向更广泛的社区表明您已经找到了解决方案,并为答题者和您自己赢得了一定声誉。没有义务这样做。如果您觉得自己的问题没有得到回答,请随时与作者联系。
理查德·斯莱特

Answers:


4

根据我工作所在公司的政策,我们拥有开发人员,预生产环境和生产环境(某些服务上的开发人员可能会丢失)。以及新版本preprod-> tests-> validation-> prod的路径。

在我们的案例中,preprod中的工作非常繁琐,足以确保在prod中实施时我们无需祈祷:)

注意:我们使用svn维护和交付配置。我们不会就地进行更改。


您如何维护不同Jenkins服务器的配置?手动吗?
Michael Pereira

我们使用svn维护和交付配置。我们不做出改变就地
罗密欧尼诺夫

我觉得这还不能完全回答问题。此答案描述了如何部署更改,但没有描述如何通过部署管道测试更改。
jayhendren

2

我们需要一个100%HA Jenkins环境。我们经常升级插件/ Jenkins本身。

如果构建在升级后中断,这将引起很大的麻烦。

最安全的排序方式实际上是获得Demo Jenkins设置。也许在同一台机器上使用多个Tomcat应用程序,您可以实现这种便宜。

我们要做的是创建一个单独的(Demo)VM,并在Demo VM上复制产品设置。在更改/升级任何东西之前,我们将对两个虚拟机进行快照。然后,我们将在演示VM上测试升级。如果效果良好,请在Prod上进行更改。

我想如果有人对您计划的插件有任何问题,您可以查找社区(例如SE / SO)。


0

我总是会在使用各自插件的每个相关项目/分支上,至少在最近的一个绿色标签(或几乎绿色标签)上手动触发一两次重新运行,并检查是否得到相同的结果。只是为了安全起见。

任何结果差异都需要进行调查,以确定是否由插件更新引起。也许新旧插件都可以重新运行?


好没问题。
Dan Cornilescu

从过去的经验来看,我的意见通常并不那么受欢迎,因此总的来说,如果可能的话,我倾向于避免引起人们的注意:)我也不熟悉mod工具。但是我不介意提供帮助,尤其是在需要时-我对该网站寄予厚望。
Dan Cornilescu
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.