Задать вопрос
@akdes

Как обновить переменную в Gitlab CI во время CI/CD?

Привет всем.
Использую gitlab для построения и последущего залива docker images на kubernetes.
Gitlab-Runner, сидит в докере, на локальной машине - в k8s пихать runner пока не хотим, точнее хотим но вопрос пока не согласован, так что этого не предлогать.

Access-Config(~/.kube/config) от k8s я записал в переменные проекта gitlab/settings/CI CD/Variables
Проблема:
Как многие знают, k8s обновляет через какое-то время конфиг, он обновляется во время работы, но контейнер потом сворачивается и в след. раз конфиг берётся старый, опять из переменных gitlab. Соотвественно kubectl перестаёт работать, пока не обновить конфиг.

Прежде чем я начну придумывать велосипед, и писать (а что ещё хуже, высылать по http) конфиг куда-то, что-бы его оттуда забрать, хочу спросить у Вас, как решается данная проблема, кроме как в ручную обновлять переменную через UI gitlab. API для обновления переменных во время pipeline я не нашёл, точнее нашёл высказывание, что это не возможно.

Если совсем никак, буду наверное делать Volume для Runner, а в переменную писать путь к файлу, но всё равно, вдруг есть более логичное решение..., без физической привязки к памяти у Runner?

Спасибо.
  • Вопрос задан
  • 505 просмотров
Подписаться 1 Средний 2 комментария
Пригласить эксперта
Ответы на вопрос 1
@Delagen
Техногик
Можно пробрасывать какие либо данные через задания через artifacts, в принципе стандартный deploy в Gitlab какое то время так и работал.
То есть в первом stage какие либо задания создают файлик, который указан в artifacts
В следующих задания его используют, только нужно еще учесть срок жизни этого файлика, если есть задания запускаемые вручную с сильно отложенным временем
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы