gpt4 book ai didi

java - 哪个持续集成系统最容易在新机器上从备份中重建?

转载 作者:行者123 更新时间:2023-11-30 07:32:48 26 4
gpt4 key购买 nike

我很高兴使用 Hudson(现在是 Jenkins)几年了,我喜欢这个系统的总体态度——它真的是一个很好的程序——但重点不在我需要运行的一件事上好吧。

这就是说,如果我们的构建服务器出现问题并且我们需要从(整个工作区的)备份磁带重建它,那么使用 Jenkins 不容易做到这一点。由于我们不依赖于任何 Jenkins 特定的功能,我在考虑其他 CI 系统是否有更好的方法。

从 git 中提取时,基本上我们有多个 Eclipse 项目彼此相邻。每个构建入口都指向随后构建的项目之一中的 ant 脚本。我们需要完全灵活地使用 Ant 和 Java 的版本。这可以在项目某处的“启动配置”文件中得到很好的描述,因此所需要的只是指向(或者甚至可能自动发现)所述启动文件。

如果历史也能被建立起来会更好,但我真的很想能够让工作恢复并运行。

有什么建议吗?


(注意 2013-02-18:我们将构建过程迁移到了 Maven。这极大地简化了 Jenkins 配置,并使这个问题变得不那么重要了。很高兴知道您是否可以从备份磁带轻松引导 CI 配置或从头开始(基于存储在各种 pom 文件中的信息))

最佳答案

备份 Jenkins 相当容易。

  1. 备份所有配置文件。我有一个每小时运行一次的 Jenkins 作业,扫描任何 config.xml 更改或添加,并在我们的 Perforce 服务器中添加/更新它们。此外,它使我能够回滚到旧配置,如果我把配置搞砸了,只需在 Perforce 中进行同步即可。

  2. 备份您的插件。我只是备份 .hpi 文件,再次进入 perforce。这样我就不必记住我的服务器上有哪些插件,我是否需要重建它。

  3. 备份您的工作区目录。这个我不做,因为我不关心我的 CI 构建,我的夜间构建存储在另一台服务器上。我发现 Jenkins 副本非常非常慢,所以我将构建脚本中的所有工件/源代码复制到存档服务器,该服务器已经由 IT 每晚备份(它是一个 san)。唯一的问题是,我无法将 Jenkins 作业工件指向单独的位置,并让 Jenkins 将它们链接为工件。我还没有找到一个插件来做到这一点,而我一直在写的插件进展缓慢。但这并不是太糟糕的权衡。

这 3 个允许我恢复 Jenkins,但没有日志文件(我真的不需要它们,只要我有输出,tee.exe 是你的 friend )在我的服务器死掉的情况下在很短的时间内。

关于java - 哪个持续集成系统最容易在新机器上从备份中重建?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6291530/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com