【问题标题】:Execute different scripts for snapshot/release builds为快照/发布版本执行不同的脚本
【发布时间】:2015-09-24 00:32:24
【问题描述】:

有没有办法根据构建是否是发布构建来执行不同的构建后脚本?

我的目标是为快照构建执行脚本 A,为发布构建执行脚本 B

用 groovy-post-build 插件确定它是否是 maven 发布版本似乎很简单,如下所示:

if(manager.build.buildVariables.containsKey("MVN_RELEASE_VERSION"))
{
    "cmd /c C:\\test.bat".execute(); // Results in FileNotFound exception.
}

但是,groovy 插件在沙盒中运行,因此它不允许您访问文件系统来执行其他脚本,或者说抓取工件以上传到 S3。

我尝试的另一个选项是只执行一个 Windows 批处理脚本,但是,传递给该脚本的变量不包括确定它是否是发布版本的信息。

有没有什么好的方法可以做到这一点?

【问题讨论】:

    标签: maven jenkins build hudson


    【解决方案1】:

    可以试试jenkins的flexi publish插件吗,希望能解决

    【讨论】:

    • 是的,flexi 发布插件适用于我想做的事情。正则表达式匹配(来自运行条件插件)将允许应用相同的逻辑。将表达式 ^(?=\s*\S).*$(查找非 null)与标签 ${ENV,var="MVN_RELEASE_VERSION"} 匹配将在原始问题中使用相同的逻辑。谢谢指点!
    猜你喜欢
    • 2012-09-30
    • 1970-01-01
    • 1970-01-01
    • 2021-10-15
    • 1970-01-01
    • 1970-01-01
    • 2012-07-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多