在构建脚本中获取触发原因

Posted

技术标签:

【中文标题】在构建脚本中获取触发原因【英文标题】:Get trigger reason in build script 【发布时间】:2020-01-21 16:08:36 【问题描述】:

有没有办法查看导致计划从构建脚本运行的触发器类型,可能来自环境变量?

为什么

我正在构建一个需要相当长的时间才能运行完整构建的构建。我付出了很多努力来让增量构建工作。我目前有竹子设置,通过设置多个计划在开发(主)分支上运行增量构建,并在生产分支上运行完整构建。我想每天安排一次在 dev 分支上进行完整构建,但我希望它与代码更改时发生的增量构建在同一计划中发生。

【问题讨论】:

【参考方案1】:

据我所知,没有办法获得触发器的类型,因为没有variable 可用作脚本的环境变量。

但是,您是计划的所有者,有一个变量告诉您​​计划的名称:bamboo.shortPlanName(实际上也是bamboo.planKey)。由于您定义了计划的触发器,您应该能够从那里推断有关触发器类型的信息。

Bamboo 计划定义了持续集成的细节 工作流程。您使用计划来识别源代码存储库, 指定要在构建中运行的任务,以及何时触发构建。 每个计划都属于一个项目。您可以将计划添加到现有的 项目或创建一个新项目。 source

现在,这可能对您的目标没有帮助,因为据我了解,您希望根据某些条件动态更改计划。您的脚本可能会尝试依赖外部文档来跟踪上次执行的计划是什么,并根据已触发的计划决定下一步该做什么,但我太过分了。

【讨论】:

以上是关于在构建脚本中获取触发原因的主要内容,如果未能解决你的问题,请参考以下文章

如何在成功发布构建时触发快照构建?

从 python 中触发 catkin 构建过程

VSTS:如何使用 REST API 获取由构建触发的发布 ID

如何在 Jenkins 中触发构建在其他构建成功但在 Bamboo 中运行之后

执行触发器时,精确获取返回的行数超过请求的行数 SQL*PLUS

Xcode Bot:如何在后触发脚本上获取 .ipa 路径?