2012-07-07 76 views
4

我想为个人用户发送回购路径到哈德森服务器,并让服务器启动该回购的构建方式。我不想留下动态创建的作业配置。我想同时启动多个同一个作业。显然,这要求工作空间对于不同的实例是不同的。我相信这是不可能使用任何当前的扩展。我愿意接受不同的方法来完成我想要完成的任务。同一个哈德逊/詹金斯工作的实例

我只希望哈德森服务器能够接收来自外部源的构建请求,并且只要有免费的执行程序就可以启动它们。我希望构建配置对于除回购点位置以外的所有构建都相同。我不想用自动生成的名字来放置几十个相同的工作。

有没有人在那里使用哈德森或詹金斯这样的事情?你如何设置它?我想通过足够的脚本,我可以通过脚本的CLI API动态创建必要的作业配置,然后在完成时将其销毁。但是我想保留这些工件,所以在完成运行时摧毁工作是一个问题。我真的不想写和维护我自己的扩展。

回答

5

这对于Jenkins来说应该是非常简单的,不需要任何插件,尽管它取决于你使用的SCM的类型。
在任何情况下,它都值得Hudson的upgrading;自从成为Jenkins以来,在许多版本中支持您的用例所需的功能无疑已经有所改进。

您想将回购路径作为参数传递给您的版本,因此您应该在构建配置中选择“This build is parameterized”选项。在那里你可以添加一个名为REPO_PATH或类似的字符串参数。

接下来,在指定代码从哪里签出的位置,请将路径替换为${REPO_PATH}
如果您正在检出代码—或需要通过脚本访问回购路径—,该变量将自动添加到您的环境中,因此您可以从shell脚本或Ant文件中引用${REPO_PATH}

此时,按下立即构建,系统将提示您在构建开始之前输入回购路径。如上面的维基页面所述,您可以拨打buildWithParameters网址直接使用所需的参数开始构建,例如,最后,如果您希望构建同时执行,Jenkins可以通过为并发构建创建临时工作区来为您管理这个问题。只需在作业配置中启用选项 “如果需要执行并发构建”即可。

工件将可用,与任何其他Jenkins构建一样。虽然可能你想管理最近有多少文物保存;这可以通过检查“放弃旧版本”,然后在高级…,您可以选择输入“最大构建编号以保留工件”的值。

+0

实际上,我看到该功能在我使用的Hudson 2.2.0中也受支持。但它不支持矩阵式作业,这就是为什么我没有看到它。我想我可以解决这个问题。谢谢您的帮助! – 2012-07-09 18:00:16

+0

@ChrisQuenelle Jenkins支持从版本1.467开始的并发矩阵构建,并且参数化的矩阵构建也是可能的。 – 2012-07-09 22:46:15