在构建脚本中获取触发原因
Posted
技术标签:
【中文标题】在构建脚本中获取触发原因【英文标题】:Get trigger reason in build script 【发布时间】:2020-01-21 16:08:36 【问题描述】:有没有办法查看导致计划从构建脚本运行的触发器类型,可能来自环境变量?
为什么
我正在构建一个需要相当长的时间才能运行完整构建的构建。我付出了很多努力来让增量构建工作。我目前有竹子设置,通过设置多个计划在开发(主)分支上运行增量构建,并在生产分支上运行完整构建。我想每天安排一次在 dev 分支上进行完整构建,但我希望它与代码更改时发生的增量构建在同一计划中发生。
【问题讨论】:
【参考方案1】:据我所知,没有办法获得触发器的类型,因为没有variable 可用作脚本的环境变量。
但是,您是计划的所有者,有一个变量告诉您计划的名称:bamboo.shortPlanName
(实际上也是bamboo.planKey
)。由于您定义了计划的触发器,您应该能够从那里推断有关触发器类型的信息。
Bamboo 计划定义了持续集成的细节 工作流程。您使用计划来识别源代码存储库, 指定要在构建中运行的任务,以及何时触发构建。 每个计划都属于一个项目。您可以将计划添加到现有的 项目或创建一个新项目。 source
现在,这可能对您的目标没有帮助,因为据我了解,您希望根据某些条件动态更改计划。您的脚本可能会尝试依赖外部文档来跟踪上次执行的计划是什么,并根据已触发的计划决定下一步该做什么,但我太过分了。
【讨论】:
以上是关于在构建脚本中获取触发原因的主要内容,如果未能解决你的问题,请参考以下文章
VSTS:如何使用 REST API 获取由构建触发的发布 ID
如何在 Jenkins 中触发构建在其他构建成功但在 Bamboo 中运行之后