首页 > 解决方案 > 将 Jenkins 布尔管道迁移到 Teamcity 构建链的问题

问题描述

我目前正在将几十个 Jenkins Pipelines 迁移到 TeamCity,而我正在学习 TeamCity。目前我们有一个包含 70 多个构建步骤的大型 Jenkins 管道。在 Jenkins 中,可以根据每个步骤的布尔复选框来构建此管道,因此我们可以选择我们希望构建的步骤。

例如,我想运行构建步骤 1、17、18、22、45、60。并且只有这些步骤。例如,我们不能选择运行 17、22、18、1、60、45。它必须是顺序的,但没关系。

在 TeamCity 中,我一直在阅读构建链,但这似乎是全有或全无的选择。所以我的问题是,TeamCity 中是否有等效的功能允许我们手动运行一系列选定的构建?不要单独手动运行单个构建。

先感谢您!

标签: jenkinscontinuous-integrationteamcitypipelinecontinuous-deployment

解决方案


经过长时间的修补,我找到了解决方案。对于 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 好,但它适合我的需要。

附件是最终输出。希望这对将来的其他人有所帮助。

在此处输入图像描述


推荐阅读