"предзаполненные переменные" для ручного запуска пайплайна (https://docs.gitlab.com/ee/ci/pipelines/index.html#prefill-variables-in-manual-pipelines)
Есть ли у кого-то опыт, как заполнять эти переменные? Например, артефакты лежат в нексусе, curl-ом я получаю список версий, и разработчик должен выбрать одну из имеющихся версий, есть ли способ при запуске пайплайна изменить массив этих переменных?
Была идея даже с файликом, в котором хранятся версии каждого компонента, и его проверкой в .pre джобе, но проблема в том, что версии нужно получить до запуска пайплайна, а не после
Завести подключаемую репу с файлом, где скриптами наполняются версии, например.
Ну да, у меня была такая идея, я её описал. Но гитлаб же ищет prefil-variables в .gitlab-ci.yml, который лежит в этой ветке (ну или ещё куда-то, где конфиг лежит). И получается, что либо нужно коммитить через api во все ветки версии (что издевательство), либо как-то считывать этот массив, но из документации я нашёл только такой вариант, то есть каждое возможное значение нужно объявить до пайплайна. variables: DEPLOY_ENVIRONMENT: value: "staging" options: - "production" - "staging" - "canary" description: "The deployment target. Set to 'staging' by default."
Ты абсолютно прав, но это не издевательство
а как это будет работать? какой-то крон, который будет доставать версии из нексуса и класть в конфиг пайпа или триггер какой-то?
У меня есть джоба, которая льёт артефакты в нексус, и за ней идёт джоба, которая обновляет переменную, условно version_backend. Вот после неё можно ещё вытаскивать лист из нексуса и записывать массив в файл, и уже потом из файла каким-то хитрым образом это всё сувать в .gitlab-ci.yml . Но я надеялся, что так не придётся делать)
Обсуждают сегодня