2014-06-30 52 views
0

我正在设置我公司的CI实现,并已成功在Jenkins中设置了一个简单的应用程序和引用流,使用artifact copy plugin提供从一个项目到另一个项目的引用。获取本地构建的Jenkins构件

这一切工作正常,但我很努力地找到这个过程的一个元素的答案,我相信肯定必须有人解决。

当我在本地对项目进行更改时,是否有任何自动或半自动方式从Jenkins获取最新工件并将它们复制到本地机器以供本地构建引用?

当前,我的引用存在于解决方案根目录中名为_ExternalReferences的文件夹中,并且Jenkins将指定的引用复制到该文件夹​​。除了手动从Jenkins下载程序集并将它们复制到本地目录结构之外,是否还有解决方案?

回答

1

你的意思是:你如何使用与Jenkins相同的构建脚本/工具在自己的笔记本电脑上构建自己的项目,因为当你不在Jenkins下构建时,不能使用“Copy artifact plugin”?

这是一个非常好的问题。因为工件的下载是由构建脚本之外的Jenkins完成的,所以在构建脚本运行之前,您必须提供类似的工具来制作本地/开发人员版本。

你可以通过调用像做一个脚本,你的开发者可以致电(或使目标如果您使用作出),其下载修建从詹金斯的文物:

curl -sfO $JENKINS_URL/job/JOBNAME/lastSuccessfulBuild/artifacts/PATH/TO/FILE 

OTOH,如果你犯了一个脚本/制作这样的目标,在詹金斯建造时不应该使用它?为什么使用两种不同的方法获得“外部参照”使事情复杂化?在我看来,你也应该在Jenkins中使用相同的脚本/目标。

使用“复制神器插件”除了易于设置之外不提供任何好处。实际上,有一个好处:因为这些工件通过詹金斯现有的管道复制到从属设备上,所以即使在奴隶在网段中运行并阻止它们连接到主设备的环境中也可以工作。这是我必须在工作中使用它的原因。