jenkins - 将 Jenkins 布尔管道迁移到 Teamcity 构建链的问题
问题描述
我目前正在将几十个 Jenkins Pipelines 迁移到 TeamCity,而我正在学习 TeamCity。目前我们有一个包含 70 多个构建步骤的大型 Jenkins 管道。在 Jenkins 中,可以根据每个步骤的布尔复选框来构建此管道,因此我们可以选择我们希望构建的步骤。
例如,我想运行构建步骤 1、17、18、22、45、60。并且只有这些步骤。例如,我们不能选择运行 17、22、18、1、60、45。它必须是顺序的,但没关系。
在 TeamCity 中,我一直在阅读构建链,但这似乎是全有或全无的选择。所以我的问题是,TeamCity 中是否有等效的功能允许我们手动运行一系列选定的构建?不要单独手动运行单个构建。
先感谢您!
解决方案
经过长时间的修补,我找到了解决方案。对于 Jenkins,运行 .groovy 脚本。在 TeamCity 中,我必须添加一个配置参数并单击 Spec: 标签下的“编辑”。选择一个复选框可以让我创建一个类似于 Jenkins 的管道。我可以添加任意数量的参数。
然后,我创建一个构建步骤,将 Runner Type 设置为“命令行”。然后我可以在我的代理上运行一个 bash 脚本。一个例子是:
#!/bin/bash
if [[ %01. Configure% == true ]]; then
./config_environ.sh %00. Environment%
fi
if [[ %02. Build Kernel% == true ]]; then
./build_kernel.sh
fi
要运行这个“管道”,我单击运行(运行自定义构建)旁边的三个点,导航到参数选项卡,然后选择我需要的构建配置。UI 不如 Jenkins 好,但它适合我的需要。
附件是最终输出。希望这对将来的其他人有所帮助。
推荐阅读
- r - 尽管“skip = 4”是一个参数,但 Rshiny 中的 read_excel 不跳行
- python - 如何从 opencv 的 morhpologyEx 获得关于图像边界的预期行为?
- phpstorm - 从 PhpStorm 中的开发服务器拉取远程更改
- python - 在管理器中链接查询集
- sql - 如何根据现有模式在 Oracle 中编写表结构?
- node.js - 节点:Express:如何处理 application/octet-stream;charset=;UTF-8 响应?
- pygame - 有没有办法用内置的 pygame 函数制作精灵?
- java - 无法理解泛型和继承
- javascript - 将 HTML 输入标记文件数据发布到另一个输入标记文件并在 Django 视图中检索
- java - java.lang.NoClassDefFoundError: com.google.maps.GeoApiContext$Builder