Проблема переноса логического конвейера Jenkins в цепочку сборки Teamcity - PullRequest
0 голосов
/ 06 сентября 2018

В настоящее время я перевожу несколько десятков конвейеров Jenkins в TeamCity, и я только изучаю TeamCity. В настоящее время у нас есть большой конвейер Jenkins, содержащий более 70 шагов сборки. В Jenkins этот конвейер может быть построен в зависимости от логического флажка для каждого шага, чтобы мы могли выбирать, какие шаги мы хотим построить.

Например, я хочу запустить шаги сборки 1, 17, 18, 22, 45, 60. И только эти шаги. Например, мы не можем выбрать запуск 17, 22, 18, 1, 60, 45. Он должен быть последовательным, но это нормально.

В TeamCity я читал о цепочках сборки, но это, кажется, выбор «все или ничего». Поэтому мой вопрос: есть ли в TeamCity эквивалентная функциональность, которая позволяет нам вручную запускать последовательность выбранных сборок? Не запускайте вручную отдельные сборки.

Заранее спасибо!

1 Ответ

0 голосов
/ 07 сентября 2018

После долгого ковыряния я нашел свое решение. В случае с 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

Чтобы запустить этот «конвейер», я нажимаю на три точки рядом с «Выполнить» («Выполнить пользовательскую сборку»), перехожу на вкладку «Параметры» и выбираю нужную конфигурацию сборки. Пользовательский интерфейс не так хорош, как Дженкинс, но он соответствует моим потребностям.

Прилагается окончательный вывод. Надеюсь, это поможет другим в будущем.

enter image description here

...