【问题标题】:Jenkins - Execute ant-target only if git-branch is master?Jenkins - 仅当 git-branch 为 master 时才执行 ant-target?
【发布时间】:2015-01-13 10:52:30
【问题描述】:

我有一个通过 ant(和 build.xml)构建的 jenkins 项目。在build.xml 中,我指定了 phpDoc,但如果推送的分支是主分支,我只想执行 ant-target phpdoc。这可能吗?

【问题讨论】:

    标签: php ant jenkins phpdoc


    【解决方案1】:

    是的,这是可能的。有几个选项取决于您使用的 SCM。

    例如对于 git,安装 git plugin 接下来在 Jenkins 中创建新作业,在 SCM 部分中选择 git,设置适当的 git 存储库,然后在 Branches to build 中设置您的主分支,例如 */master

    接下来您需要指定构建触发器。一种方法是设置正确的git hook,或拉取request builder。另一个是设置Poll SCM 选项。第二个将导致 Jenkins 每 X 分钟检查一次 SCM(取决于配置)。

    【讨论】:

    • 使用您的解决方案,我必须创建一个生成文档的新作业。我想要的是通过 ant-script (build.xml) 触发生成。
    • 通常,您希望 Ant 构建文件包含任务及其执行方式,而不是用于决定在给定实例中运行哪些任务的逻辑。然后,Jenkins 作业包含选择要运行的内容和时间的逻辑,因此使用 Ant 文件仅执行 Jenkins 作业选择的任务。尝试在 Ant 本身中加入这种选择逻辑需要编写自己的宏定义(非常古老的示例 - tlrobinson.net/blog/2008/11/ant-tasks-for-git)。
    猜你喜欢
    • 2019-09-17
    • 2022-01-08
    • 2013-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多