【问题标题】:Issue migrating Jenkins boolean pipeline to Teamcity build chain将 Jenkins 布尔管道迁移到 Teamcity 构建链的问题
【发布时间】:2018-09-07 08:36:20
【问题描述】:
我目前正在将几十个 Jenkins Pipelines 迁移到 TeamCity,而且我正在学习 TeamCity。目前我们有一个包含 70 多个构建步骤的大型 Jenkins 管道。在 Jenkins 中,可以根据每个步骤的布尔复选框来构建此管道,因此我们可以选择我们希望构建的步骤。
例如,我想运行构建步骤 1、17、18、22、45、60。并且只运行这些步骤。例如,我们不能选择运行 17、22、18、1、60、45。它必须是顺序的,但没关系。
在 TeamCity 中,我一直在阅读有关构建链的信息,但这似乎是全有或全无的选择。所以我的问题是,TeamCity 中是否有等效的功能允许我们手动运行一系列选定的构建?不单独手动运行单个构建。
提前谢谢你!
【问题讨论】:
标签:
jenkins
continuous-integration
teamcity
pipeline
continuous-deployment
【解决方案1】:
经过长时间的修补,我找到了解决方案。对于 Jenkins,运行 .groovy 脚本。在 TeamCity 中,我必须添加一个配置参数并单击 Spec: 标签下的“编辑”。选择一个复选框可以让我创建一个类似于 Jenkins 的管道。我可以添加任意数量的参数。
然后,我创建一个构建步骤,并将运行器类型设置为“命令行”。然后我可以在我的代理上运行一个 bash 脚本。一个例子是:
#!/bin/bash
if [[ %01. Configure% == true ]]; then
./config_environ.sh %00. Environment%
fi
if [[ %02. Build Kernel% == true ]]; then
./build_kernel.sh
fi
要运行此“管道”,我单击运行(运行自定义构建)旁边的三个点,导航到参数选项卡,然后选择我需要的构建配置。用户界面不如 Jenkins,但它符合我的需求。
附加的是最终输出。希望这对将来的其他人有所帮助。