Хобрук: Ваш путь к мастерству в программировании

Как вручную запустить отдельное задание в Azure Pipelines?

У меня есть простой Azure Pipeline, состоящий из двух этапов:

  • Этап 1: Сборка
  • Этап 2: запуск тестов

На этапе 1 создается исходный код и отправляются двоичные файлы в артефакты Azure. Этап 2 загружает двоичные файлы этапа 1 и запускает несколько тестов для них, используя разные задания для разных тестов:

  • Задание 1: запустить тесты для модуля A
  • Задание 2: Выполнить тесты для модуля B
  • Задание 3: запустить тесты для модуля C

Эти задания полностью независимы друг от друга и выполняются параллельно.

Если все этапы и задания выполнены успешно, как я могу вручную запустить задание 3 на этапе 2 без повторного запуска этапа 1 и задания 1 и 2 этапа 2?

Один уродливый обходной маневр может заключаться в использовании переменных и каким-либо образом запустить новый конвейер, пропустить этап 1, если переменные установлены, и загрузить двоичные файлы из предыдущего конвейера. Есть ли подходы лучше?

Изменить: аналогичная тема продолжается в сообществе разработчиков ms: https://developercommunity.visualstudio.com/idea/697467/manually-triggered-stages-in-yaml-multi-stage-pipe.html?childToView=903723#comment-903723


  • Нет, на данный момент это невозможно. 12.02.2020

Ответы:


1

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

Как только вы это сделаете, вы можете вручную запускать их независимо для повторов. введите здесь описание изображения

Или, если у вас возникла необходимость, вы также можете начать новый запуск только с подмножеством этапов. введите здесь описание изображения

01.02.2020
  • Хотя идея мне нравится, это больше, чем обходной путь. Разве этапы не должны проходить один за другим? Потому что я хочу иметь возможность запускать тесты параллельно. 03.02.2020
  • А теперь я увидел, что этапы можно запускать параллельно: docs.microsoft.com/en-us/azure/devops/pipelines/process/ Тем не менее, это по-прежнему похоже на обходной путь, поскольку концептуально мудрые этапы, я полагаю, должны выполняться за другим. 03.02.2020
  • Этапы - это наименьший элементарный объем работы, который вы можете повторно выполнить по запросу вручную. И да, вы можете запускать их параллельно. Но я предполагаю, что вы можете захотеть чего-то немного другого, основываясь на вашей ссылке для редактирования. 03.02.2020

  • 2

    Если вы определяете конвейер выпуска в yaml, вы можете, добавив condition: false, отключить / пропустить задание в конвейере с несколькими заданиями.

    - job: Foo  
      condition: false
    

    Для получения дополнительной информации вы можете обратиться к этому case.

    Затем вы можете выбрать, какие этапы запускать при запуске многоэтапного конвейера, через это вы можете пропустить этап Stage1.

    введите здесь описание изображения

    04.02.2020
  • Это не то, что я хочу в основном. Я хочу иметь возможность запускать отдельные задания, как в GitLab. 12.02.2020
  • Новые материалы

    Машинное обучение и его набор данных в CreateML
    Когда я впервые начал учиться в Apple Developer Academy, у меня был момент неуверенности в моем интересе к машинному обучению. Нужно ли мне сменить карьеру моей мечты с специалиста по данным на..

    Обучение требует воли
    Недавно я прочитал отличную статью Шейна Легга и Джоэла Венесса из DeepMind. http://arxiv.org/pdf/1109.5951v2.pdf В статье «универсальный интеллект» агента π определяется как: Поэтому..

    Безопасность по дизайну делает всех счастливыми
    Заложенная безопасность делает всех счастливыми Если вы никогда не смотрели Louis C.K. рассказать о том, как Все удивительно, и никто не счастлив ; побаловать себя. Сделайте это прямо..

    Перехватчики React: состояние контекста и эффекты
    React Hooks: контекст, состояние и эффекты Пример из практики Более чем один веб-сайт, над которым я работал, страдает от проблемы, типичной для сайтов, которые позволяют входить в систему...

    Издевательство над заголовками разделов iOS 15
    Как подделать стили заголовков раздела списка по умолчанию в iOS 15 С выпуском iOS 15 вы могли заметить, что стиль заголовка списка немного изменился. Теперь у него значительно больше..

    Как вы можете контролировать творческих разработчиков?
    Современный стандарт систем тикетов и спринтов должен оставлять место для улучшения качества кода, самоанализа и радости от разработки. Как программисту, пережившему 25 лет тенденций..

    Шаблоны проектирования JavaScript: шаблон модуля
    Шаблоны проектирования JavaScript Шаблоны проектирования JavaScript: шаблон модуля Как следует из названия, этот шаблон в основном делит код на несколько небольших частей, которые мы можем..