/gitlab-env

Tool to manage Gitlab environment variables

Primary LanguagePythonApache License 2.0Apache-2.0

gitlab-env

Описание

Репозиторий предназначен для разработки скрипта gitlab-ci-env.py, позволяющий генерировать файл с CI переменными полученными из проекта в gitlab, а также загружать переменные из файла в CI переменные проекта.

Работа со скриптом

Перед использованием скрипта необходимо:

  • перейти в каталог с репозиторием проекта
  • экспортировать GITLAB_TOKEN с правами read_api (только чтение переменных) или api (чтение и изменение переменных)

Установка зависимостей

pip install gitlab-env - установка пакетa со скриптом.

export GITLAB_TOKEN=[YOUR_TOKEN] - экспорт переменной для доступа к проекту в gitlab.

Получение переменных из проекта в gitlab

gitlab-env --get

Выводит переменные из проекта в stdout, разделенные по Environment scope.

Получение переменных из проекта в gitlab и запись их в файл

gitlab-env --get [-f path/to/output/file]

Формирует файл gitlab_variables.txt (по умолчанию) или файл с именем указанным после аргумента -f, содержащий CI переменные проекта, разделенные по Environment scope.

Обновление переменных CI в проекте gitlab

gitlab-env.py --push [--force] [-f path/to/output/file]

Парсит файл gitlab_variables.txt (по умолчанию) или файл с именем указанным после аргумента -f/--file, затем создает новые переменные и обновляет измененные, а также удаляет переменные ТОЛЬКО для указанн(ых/ого) в файле environment_scope.

--force флаг

gitlab-env.py --push --force [-f path/to/output/file]

Если указан ключ --force, создает, обновляет переменные и удаляет из проекта, если их нет в файле для ВСЕХ существующих в проекте environment_scope.

--l/list флаг

Выводит имена Environment scopes в stdout

-e/envs ключ

Ключу передаются имена Environment scopes через пробел для ограничения вывода переменных в файл или в stdout только этими Environment scopes.