如何使用Jenkins以前版本中的参数

时间:2014-09-15 18:04:57

标签: shell jenkins

我有一个带有文件参数的作业,我希望按计划运行。我想上传文件一次,让jenkins继续使用这些文件用于所有未来版本。如果不编写我自己的插件,这可能吗?我知道托管脚本插件,这不是我需要的。关键是能够让用户将文件上传到工作区并将其设置为按计划运行。更简单的方法是在构建步骤中运行上传文件。是否有插件可以做到这一点?

要清楚,我想上传shell脚本并在计划作业的构建步骤中使用它们。设置文件参数是我能得到的最接近的参数,但是每次构建后都会擦除参数,并且必须重新上传文件。我主要使用Jenkins来管理团队的脚本。复制粘贴是一个痛苦的屁股,我们希望能够通过对话上传,然后设置脚本运行。

2 个答案:

答案 0 :(得分:3)

就个人而言,我更喜欢保留在版本控制中驱动Jenkins作业(脚本或配置文件)的文件,可能在与其相关的项目附近 - 但这只是我。

要创建您描述的工作流程,我会像这样使用Copy Artifact Plugin

  1. 使用file参数创建作业A,以您想象的方式上传,并在构建后的步骤中将其存档
  2. 在作业B(和其他人)中,使用复制工件构建步骤从作业A复制文件 - 您可以指定直接从工作区复制它(在这种情况下,您甚至不需要存档它),或获得一个人工制品,例如从上次成功的构建开始。
  3. 您还可以在使用它的所有作业中对文件进行指纹处理 - 这样Jenkins也会知道每个构建之间的关系(如果您想要跟踪特定构建所使用的文件版本)。 / p>

    另一个解决方案可能是Copy Data To Workspace Plugin,你可以在构建开始时从Jenkins master复制文件,默认情况下从JENKINS_HOME/userContent复制 - 但在这种情况下你需要放置提前在主人身上提交文件。

答案 1 :(得分:0)

问题不明确但我在行之间得到的是你想要一种机制来按照你定义的特定时间表运行Jenkins作业。

如果这是你想要知道的,那么在" Build Triggers" Jenkins的选项,有一个"定期构建"的复选框。

enter image description here

您可以定义一个cron表达式以在特定的时间表上运行 例如: 1.)每十五分钟: H / 15 * * * *
2.)每小时上半场每十分钟一次: H(0-29)/ 10 * * * *
3.)每个工作日每两小时一次: H 9-16 / 2 * * 1-5
4.)除了12月之外的每个月的1日和15日一天一次: H H 1,15 1-11 *

如果您还需要其他内容,请说明一些示例。我能够更好地理解。 :)