【发布时间】:2013-02-11 17:31:45
【问题描述】:
无论您在何处阅读有关持续交付或持续集成的信息,都建议使用工件存储库来存储工件,即使 Jenkins 已经存储了它们对于每个构建。
那么为什么推荐使用工件存储库呢?是否有一个流畅的解决方案来处理 Jenkins 构建的工件,例如。使用这些工件进行部署?
【问题讨论】:
标签: continuous-integration nexus artifactory
无论您在何处阅读有关持续交付或持续集成的信息,都建议使用工件存储库来存储工件,即使 Jenkins 已经存储了它们对于每个构建。
那么为什么推荐使用工件存储库呢?是否有一个流畅的解决方案来处理 Jenkins 构建的工件,例如。使用这些工件进行部署?
【问题讨论】:
标签: continuous-integration nexus artifactory
工件存储库和持续集成工具服务于两个不同的目的,一个不能被另一个替代。检查来自Artifactory 的this video,它是工件存储库的提供者之一,了解为什么应该使用工件存储库。
Jenkins 将工件存储为无版本控制的普通文件,而工件存储库中的工件可以进行版本控制。因此,您在检索工件和管理它们方面有更大的灵活性。阅读this 非常好的文章,了解我们为什么需要它们。当然,并非所有这些事情都得到 Jenkins 等持续集成工具的支持。
另外,你也可以看看整合了两者的Artifactory plugin for Jenkins。
【讨论】:
需要一个工件存储库,但工件存储库是一个概念性部分,并不总是一个独特的工具。使用 Jenkins,您应该拥有 MD5 签名和(我认为)一种从远程服务器下载所需文件的方法(网络服务调用,对吗?)。当然,如果你正在做一些简单的事情,比如使用 Jenkins 构建管道插件,它应该能够顺利访问正确版本的文件。
或者,如果您使用单独的部署工具,则更好的工具会捆绑工件存储库。
无论如何,您都想要 ITIL 人员所说的权威媒体/软件库。确定性在于这些位是安全的、可信的和官方的。还有一个图书馆,可以轻松查找和访问它们。使用工件存储库时,您需要确保其足够安全。它已备份。它可用于您的部署(包括生产)。如果您查看 Jenkins 并且它符合您在这些类别中的标准,请认为您已经完成了。如果缺少它,我不会感到惊讶,那么您需要像 Maven 存储库这样的专用工具,或者与部署工具捆绑在一起的工具。
关于这个主题的更多内容,有一个recorded webcast。幻灯片在Slideshare 上。
【讨论】:
我没有跟上 Jenkins 的最新动态,我们仍然使用 CI 的一个版本,当时它最初称为 Hudson。
在您的项目中,您通常应该指向您自己的工件存储库,如果您可以获取和部署您自己的(公司)项目。
将工件存储库与您的 CI 服务器一起使用,然后它可以部署成功构建的快照和可供其他开发人员使用的版本。
【讨论】: