我正在寻找一种在启动Jenkins作业之前自动执行全局配置脚本的方法。
我的用例是,如果设置了特定的环境变量,则只允许启动所有Jenkins作业。
如果未设置变量,则应中止构建。
我找到了全局帖子插件https://wiki.jenkins.io/display/JENKINS/Global+Post+Script+Plugin,我只需要这个插件所做的对话。
也许有另一种解决方案?
答案 0 :(得分:0)
在运行所有版本之前,我需要对/data/jenkins/.npm和/data/jenkins/.sbt目录进行chmod修改。
我可以为每个作业添加一个预构建步骤(冗余且混乱),或者可以进入Manage Jenkins-> Configure System。
我们有一个带有“初始化脚本”的Cloud-> Amazon EC2配置部分-您可以在从站启动时添加要在此处运行的内容。
但是,如果您真的希望某项任务可以为每个作业运行某项(不足以在jenkins从属启动中运行),那么您可能不想为每个作业手动配置它。
我建议您研究Jenkins DSL,因为您可以在任何/所有作业上定义preBuildSteps部分,然后可以引用一个通用代码段(例如要运行的Shell脚本)。
答案 1 :(得分:0)
看看 Global Pre Script 插件。这个插件的功能不如 Global Post Script 插件丰富,但它至少应该能完成你想要的一部分。它特别缺乏中止构建的选项,但它能够操纵您的作业所依赖的参数或其他先决条件。您也可以提交 PR 以添加一些阻止构建执行的方法。
对于这两个全局插件要记住的一点:这两个插件都没有提供正确的构建步骤。 groovy 代码在 master 上执行。
两个插件都不会处理的一个用例是作业间从属清理/完整性检查。