В GitLab можно ли настроить запланированный конвейер, который периодически запускается во всех филиалах? - PullRequest
0 голосов
/ 17 сентября 2018

Я использую GitLab для контроля версий Git и GitLab CI / CD для моих автоматических сборок.Обычно сборки запускаются репозиторием Git, но у меня также есть еженедельная сборка, чтобы гарантировать, что проекты, не находящиеся в активной разработке, продолжают работать.Когда в проекте есть только «основная» ветка, легко обеспечить, чтобы еженедельная сборка выполнялась на последнем коде.Когда в проекте несколько ветвей, я хотел бы повторить конвейерную работу для каждой из них по очереди.

Что я хотел бы сделать, так это запланировать сборку (еженедельную, двухнедельную или ежемесячную), которая будет выполняться на всех текущих ветках, видимых в Git.Возможно ли это в системе непрерывной доставки GitLab?


Мотивация этого состоит в том, чтобы гарантировать, что внешняя активность, такая как обновления инструментов и библиотек, не представляет проблему, если она не была сразу видна.При условии наличия разумного автоматизированного тестирования, покрытия и комплексных сборок для целевых платформ ежемесячная сборка с использованием новейших инструментов должна незамедлительно освещать проблему.Это лучше, чем невидимая гора для проблем, которые накапливаются, пока проект откладывается на несколько лет (или месяцев).Иногда все, что требуется, - это периодическое обслуживание.

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


В идеале я хотел бы что-то простое настроить.Я не вижу ничего в интерфейсе администратора, который позволил бы это в настоящее время.Я посмотрел на API, и я вижу, что есть некоторые возможности для сценария добавления и удаления.Возможно, какой-то сценарий, который запускается раз в месяц для создания новых запланированных конвейеров на основе веток git, является единственным способом.Готовое решение на этих линиях было бы вполне приемлемым.Если ничего не существует, я мог бы начать работу над чем-то вроде этого вовремя.

В настоящее время я использую GitLab Community Edition 11.2.3 06cbee3 (GitLab CE 11.2.3).Если есть только ответ Enterprise Edition, это нормально и добавит обоснования покупки EE-версии.Я бы выбрал в CE один выше EE, хотя.

1 Ответ

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

Вы не можете установить расписание для всех филиалов одновременно, вам нужно настроить одно расписание для каждого филиала самостоятельно.

Возможно, какой-нибудь скрипт, который запускается раз в месяц для создания нового расписания. конвейеры на основе веток git - единственный путь.

Я бы пошел по этому пути.

...