Если вы новичок в отношении переменных среды GitHub Actions, возможно, вы еще не научились их сохранять. Но это возможно? Да!
В этом руководстве вы узнаете различные способы сохранения переменных среды и секретов GitHub Actions, которые можно использовать при работе с GitHub Actions.
Готовы? Продолжайте чтение, чтобы начать!
Предварительные требования
В этом руководстве будет продемонстрировано практическое выполнение, для которого подойдет любая операционная система с установленным Git, в данном руководстве используется операционная система Ubuntu. Кроме того, требуется базовое знание операций Git для фиксации кода в хранилище переменных среды GitHub Actions.
Настройка переменных среды GitHub Actions
При автоматизации процессов с помощью рабочего процесса GitHub Actions возможно потребуется привязать переменные среды к вашим рабочим процессам. Как это сделать? Сначала вам нужно создать и указать пользовательские переменные среды в рабочем процессе с помощью ключевого слова env
.
1. Создайте каталог с именем .github/workflows, где вы будете хранить файл рабочего процесса.
2. Затем создайте файл с предпочтительным именем в каталоге .github/workflows. Но в этом примере файл называется main.yml. Скопируйте и вставьте код ниже в файл main.yml.
Код ниже устанавливает и отображает переменную среды API_KEY
, когда код запускает рабочий процесс.
3. Зафиксируйте и отправьте код в ваш репозиторий GitHub.

4. Теперь откройте ваш веб-браузер и перейдите к вашему проекту на GitHub. Нажмите на вкладку Действия, затем кликните на ваш текущий коммит.
Вы увидите что-то подобное изображению ниже, что показывает, что GitHub запустил рабочий процесс.

5. Наконец, нажмите на job1 или job2, и вы увидите, что вы успешно ссылаетесь на инициализированную переменную окружения.


Определение переменной окружения для задания
Теперь, когда вы инициализировали переменную окружения во всем файле рабочего процесса, любое задание может ссылаться на переменную окружения. Но возможно, вам нужно, чтобы только одно задание ссылалось на переменную окружения. Если это так, поместите ключевое слово env
в само задание.
1. Замените код в вашем файле main.yml на код ниже.
Код ниже показывает, что когда вы помещаете переменную окружения в определенное задание, другие задания не могут ссылаться на переменную окружения.
2. Зафиксируйте ваши изменения и отправьте задания из вашего кода в среду выполнения GitHub Actions, как вы делали в предыдущем разделе.
3. Наконец, перейдите к вашему проекту на GitHub, затем нажмите на оба job1 и job2, чтобы увидеть их сравнение:
- работа1 – Вы увидите, что вы отлично обратились к переменной среды.
- работа2 – Ключ API пуст.


Определение переменной среды для шага
Теперь, когда вы узнали, как указывать переменные среды в рамках задания, вы, вероятно, задаетесь вопросом, как можно сделать то же самое с шагами.
Для шагов в рамках задания вы указываете переменную среды внутри шага, как вы это делали для задания.
1. Замените код, который у вас есть в файле main.yml, на код ниже.
В приведенном ниже коде вы указываете переменную среды в шаге 1
, но не в шаге 2
, и вы увидите эффект в следующих шагах.
2. Теперь зафиксируйте изменения и отправьте код в GitHub.
3. Наконец, перейдите к вашему проекту в переменных среды GitHub Actions и нажмите на работа1.
Хотя вы ссылаетесь на два ключа API в одной и той же задаче (job1) на обоих этапах, шаг 2 не смог оценить ключ API (пустой), как показано ниже. Почему? Потому что вы не указали переменную среды внутри шага 2
в вашем коде.

Управление переменными среды с использованием переменных среды и секретов GitHub Actions
Вместо жесткого кодирования, вам может потребоваться хранить свою переменную среды безопасно, и секреты GitHub могут справиться с этим. Переменные среды GitHub Actions шифруют значения, которые вы вводите в секреты, поэтому они не видны и нечитаемы невооруженным глазом.
Секрет, созданный этим методом, доступен для всего рабочего процесса, задач и шагов; нет ограничений.
Чтобы сохранить вашу переменную среды в секретах GitHub:
1. Сначала загрузите свой код на GitHub, как вы делали в предыдущих разделах.
2. Затем перейдите к вашему проекту на GitHub и щелкните вкладку Настройки.
Щелкните Секреты во вкладке ниже, чтобы начать добавление секрета.

3. Затем нажмите Новый секрет репозитория, и вы увидите форму для заполнения данных о добавляемом секрете.

4. Заполните форму соответствующим образом (Имя и Значение) и нажмите кнопку Добавить секрет для отправки. Теперь API_KEY
сохранен в секретах GitHub. В этой форме GitHub безопасно устанавливает переменные среды как секреты, на которые вы можете ссылаться при работе с GitHub Actions.

5. Отредактируйте ваш файл main.yml и замените ключевое слово env
на secrets
.
Ниже вы можете видеть, что вы ссылаетесь на ключ API в формате ${{secrets.API_KEY}}
вместо того, чтобы жестко закодировать сам ключ API.
6. Наконец, зафиксируйте и отправьте код на GitHub, а затем перейдите в свой проект в переменных среды GitHub Actions. Ссылайтесь на первый раздел.
Вы увидите что-то подобное изображению ниже, но фактический API_key
вы не увидите, поскольку GitHub шифрует значения, которые вы вводите в secrets.

Ссылка на стандартные переменные среды GitHub
GitHub предоставляет несколько стандартных переменных среды по умолчанию, которые вы можете использовать для доступа к файловым системам в репозитории, вместо того чтобы жестко кодировать пути. Стандартные переменные среды GitHub позволяют вам быть более динамичными при ссылке на переменные среды, предоставленные вам GitHub.
Некоторые из путей, которые вы можете получить с помощью стандартных переменных среды, следующие:
GITHUB_JOB
– Предоставляет идентификатор задания текущего задания.GITHUB_ACTION
– Предоставляет идентификатор текущего действияGITHUB_ACTION_PATH
– Предоставляет путь, где расположено ваше действие.GITHUB_ACTOR
– предоставляет имя лица или приложения, инициировавшего рабочий процесс, например, ваше имя пользователя GitHub.GITHUB_RUN_ID
– предоставляет уникальный номер командыrun
.
Замените то, что у вас есть в вашем файле main.yml на приведенный ниже код. Приведенный ниже код отображает переменную среды по умолчанию, указанную в коде.
Фиксируйте и отправляйте изменения кода на GitHub, проверяйте ваши действия в вашем проекте переменных среды GitHub Actions, и вы увидите что-то подобное изображению ниже.

Заключение
На протяжении этого руководства вы узнали, как управлять переменными среды GitHub Actions. Теперь у вас должны быть базовые знания по сохранению переменных среды в безопасном месте и использованию предоставленных GitHub переменных среды по умолчанию.
Как вы планируете внедрить эти новые знания при работе с GitHub Actions? Возможно, сохранение необходимых для развертывания ключей API?
Source:
https://adamtheautomator.com/github-actions-environment-variables/