Можете ли вы сохранить значение в конвейере gitlab, чтобы последующие трубопроводы могли получить к нему доступ? - PullRequest
0 голосов
/ 26 сентября 2019

Я пытаюсь создать систему управления версиями, которая автоматически увеличивается каждый раз, когда коммит передается в главную ветку.Я создал переменную окружения через Настройки-> CI / CD-> Переменные среды и попытался увеличить ее, используя следующий код:

   old_version = os.environ["SEMVER_VERSION"]
   new_version = bump(old_version)
   os.environ["SEMVER_VERSION"] = new_version 

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

Похоже, что общим решением этого является сохранение значения в тегах git или в файле, которыйзатем отодвинул обратно в репозиторий git, учебник, за которым я следовал, сделал это https://threedots.tech/post/automatic-semantic-versioning-in-gitlab-ci/,, но я не могу программно выдать коммиты из-за ограничений на самодостаточный сервер gitlab, который я использую.

1 Ответ

0 голосов
/ 26 сентября 2019

Вы можете обновить ту же переменную новым значением, используя API :

curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" \ 
"https://gitlab.example.com/api/v4/projects/1/variables/SEMVER_VERSION" \ 
--form "value=$new_version"
...