semvec/pypi-packages huggingface dataset:
gitlab-ci-variables 0.1.0
Fetch and push gitlab CI/CD variables.
License: MIT
Requires Python: >=3.10,<4.0

# DEPRECATED (Актуальная версия скрипта доступна в https://gitlab.oom.ag/oomag/gitlab-ci-local-image)
# fetch-gitlab-ci-variables

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

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

Перед использованием скрипта необходимо:
- перейти в каталог с репозиторием проекта
- экспортировать `GITLAB_TOKEN` с правами `read_api` (только чтение переменных) или `api` (чтение и изменение переменных)

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

`pip install -r requirements.txt` - установка пакетов, необходимых для работы скрипта.

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

### Получение переменных из проекта в `gitlab`
```
python3 gitlab-ci-env.py --get
```
Выводит переменные из проекта в `stdout`, разделенные по `Environment scope`.

### Получение переменных из проекта в `gitlab` и запись их в файл
```
python3 gitlab-ci-env.py --get [-f path/to/output/file]
```
Формирует файл `gitlab_variables.txt` (по умолчанию) или файл с именем указанным после аргумента `-f`, содержащий `CI` переменные проекта, разделенные по `Environment scope`.

### Обновление переменных `CI` в проекте `gitlab`
```
python3 gitlab-ci-env.py --push [--force] [-f path/to/output/file]
```
Парсит файл `gitlab_variables.txt` (по умолчанию) или файл с именем указанным после аргумента `-f/--file`, затем создает новые переменные и обновляет измененные, а также удаляет переменные ТОЛЬКО для указанн(ых/ого) в файле `environment_scope`.

### `--force` флаг
```
python3 gitlab-ci-env.py --push --force [-f path/to/output/file]
```
Если указан ключ `--force`, создает, обновляет переменные и удаляет из проекта, если их нет в файле для ВСЕХ существующих в проекте `environment_scope`.

### `--l/list` флаг
Выводит имена `Environment scopes` в `stdout` 

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