Работа с переменными окружения в SourceCraft
В CI/CD-процессах SourceCraft поддерживаются переменные окружения. Переменные можно задать в следующих элементах конфигурации .sourcecraft/ci.yaml
:
- Задание — переменные будут переданы во все связанные с заданием кубики.
- Кубик — переменные будут переданы только в конкретный кубик.
Также вы можете использовать предопределенные переменные окружения.
Важно
Не храните в переменных окружения конфиденциальные данные, например пароли, ключи доступа, токены и т. д. Для хранения таких данных используйте секреты.
Чтобы использовать переменные окружения в CI/CD-процессах:
-
Настройте CI/CD в репозитории.
-
В конфигурационном файле
.sourcecraft/ci.yaml
в блоки с заданием (tasks
) или кубиком (cubes
) добавьте переменные окружения, например:workflows: my-workflow: # Здесь определяются переменные, которые будут доступны во всех кубиках # всех заданий рабочего процесса my-workflow env: WORKFLOW_VAR: workflow-var tasks: - name: my-task # Здесь определяются переменные, которые будут доступны во всех кубиках # внутри задания my-task env: TASK_ENV_VAR: This variable is available in all cubes of this task. # Многострочная переменная MULTILINE_VAR: | multi-var multi-var this is my multi-var cubes: - name: my-cube-1 # Здесь определяются переменные, которые будут доступны только внутри # кубика my-cube-1 env: CUBE_ENV_VAR: This variable is available only in cube my-cube-1. # Переменная, значение которой задается из секрета SECRET_VAR: ${{ secrets.<название_секрета> }} script: - echo "$TASK_ENV_VAR" - echo "$MULTILINE_VAR" - echo "$CUBE_ENV_VAR" - echo "$SECRET_VAR" - echo "$WORKFLOW_VAR" - name: my-cube-2 # Здесь определяются переменные, которые будут доступны только внутри # кубика my-cube-2 env: CUBE_ENV_VAR: This variable is available only in cube my-cube-2. script: - echo "$TASK_ENV_VAR" - echo "$CUBE_ENV_VAR" # Использование предопределенной переменной - echo "$SOURCECRAFT_TASK" - echo "$WORKFLOW_VAR" - name: my-task-2 cubes: - name: my-cube-3 script: - echo "$WORKFLOW_VAR"
-
Отправьте изменения в удаленный репозиторий.
-
Проверьте выполнение CI/CD-процесса.
См. также
Была ли статья полезна?
Предыдущая
Следующая