Составной рабочий процесс, примерNew
Настоящий пример демонстрирует работу CI/CD, где в файле рабочего процесса подключается .yaml-файл из другого репозитория.
Условия запуска
В данном примере запуск выполняется при событии push
:
on:
push:
После включения CI/CD для репозитория раннер будет срабатывать при внесении любого изменения в проект.
Полный список поддерживаемых событий см. в разделе Рабочие процессы.
Порядок выполнения
Подготовка подключаемого yaml-файла
Подключаемый проект из настоящего примера можно импортировать с https://gitverse.ru/cicd_tutorials/composite_actions_examples (opens in a new tab)
Создайте или импортируйте репозиторий с yaml-файлом с требованиями:
- Должен находиться в корне репозитория и называться action.yaml.
- Для коммита c ним требуется создать тег.
- Должен содержать в своем составе конструкцию
using: "composite"
.
Пример подключаемого .yaml-файла:
name: Hello world
description: подключаемый yaml для составного рабочего процесса
runs:
using: "composite"
steps:
- name: Hello world
run: echo "Hello world"
Структура проекта с подключаемым yaml-файлом:
$ tree -a -I .git
.
├── README.md
└── action.yaml
Подготовка целевого yaml-файла
Целевой проект из настоящего примера можно импортировать с https://gitverse.ru/cicd_tutorials/custom_uses_example (opens in a new tab)
Создайте или импортируйте репозиторий с целевым yaml-файлом, который должен:
- Находиться в директории .gitverse/workflows/ вашего проекта.
- Содержать конструкции
uses: <username пользователя GitVerse>/<название репозитория>@<тег коммита>
.
Пример .yaml-файла целевого проекта:
name: Пример с подключаемым yaml-файлом
on:
push:
jobs:
say-hello:
name: Тест uses
runs-on: ubuntu-cloud-runner
steps:
- name: custom uses example
uses: cicd_tutorials/composite_actions_examples@v0.01
Структура целевого проекта:
$ tree -a -I .git
.
├── .gitverse
│ └── workflows
│ └── custom_uses_example.yaml
└── README.md
Запуск раннера
В профиле репозитория > Настройки > Репозиторий включите CI/CD и нажмите Обновить:
Отправьте любой коммит, т.к. согласно composite_action_example.yaml задача будет выполняться при событии
on: push:
.
Проверка результата работы
В профиле репозитория перейдите на вкладку CI/CD и откройте отчет:
Согласно отчету, подключенный yaml-файл выполнил команду run: echo "Hello world"
: