我一直在使用Jenkins Workflow插件,但我不确定更复杂构建的最佳实践。主要有:
有没有办法从另一个groovy脚本中加载一个groovy脚本(当不使用DSL文本区域选项时)?
我认为答案是否定的,但无论如何我想问。
我明显的动机是分享公共代码(例如克隆,安装RPM,部署等)。我的用例是在各种AWS环境中构建和部署微服务,因此我们有很多Jenkins工作(以及许多重复的步骤)。
我现有的“解决方法”是使用DSL文本区域加载多个脚本:
common
flow
指的是通用的东西,而<?php
setcookie ('cookiename', 'value', time() + 86400);
echo $_COOKIE['cookiename'];
exit;
?>
则是项目特定的构建步骤。
这是一种合理的方法(显然这是一个基本的例子)?
我知道Jenkins也提供Workflow Global Library,但我不确定当前的实现(即Jenkins有一个内部Git存储库)。
是否可以将此存储库配置为指向或与外部存储库同步(例如,在GitHub上托管)?否则,我不确定这个功能有多可用(如果你不同意,请告诉我。)
答案 0 :(得分:2)
有没有办法从另一个groovy脚本中加载一个groovy脚本
当然,使用load
步骤。也许你应该澄清你的问题。
可以将[
cps-global-lib
]存储库配置为指向外部存储库或与外部存储库同步
抱歉,没有。
答案 1 :(得分:2)
我们不能使用jenkins作为我们的SCM,所以我们有一个技巧: