Составной рабочий процесс, пример

Составной рабочий процесс, пример
New

Настоящий пример демонстрирует работу CI/CD, где в файле рабочего процесса подключается .yaml-файл из другого репозитория.

Условия запуска

В данном примере запуск выполняется при событии push:

on:
  push:

После включения CI/CD для репозитория раннер будет срабатывать при внесении любого изменения в проект.

Полный список поддерживаемых событий см. в разделе Рабочие процессы.

Порядок выполнения

Подготовка подключаемого yaml-файла

💡

Подключаемый проект из настоящего примера можно импортировать с https://gitverse.ru/cicd_tutorials/composite_actions_examples (opens in a new tab)

Создайте или импортируйте репозиторий с yaml-файлом с требованиями:

  1. Должен находиться в корне репозитория и называться action.yaml.
  2. Для коммита c ним требуется создать тег.
  3. Должен содержать в своем составе конструкцию 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-файлом, который должен:

  1. Находиться в директории .gitverse/workflows/ вашего проекта.
  2. Содержать конструкции 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

Запуск раннера

  1. В профиле репозитория > Настройки > Репозиторий включите CI/CD и нажмите Обновить:

  2. Отправьте любой коммит, т.к. согласно composite_action_example.yaml задача будет выполняться при событии on: push:.

Проверка результата работы

В профиле репозитория перейдите на вкладку CI/CD и откройте отчет:

Согласно отчету, подключенный yaml-файл выполнил команду run: echo "Hello world":

Связанные разделы

  1. Включение/выключение CI/CD.
  2. Внесение изменений в ветку и создание коммитов.
  3. Работа с терминалом.
  4. СI/CD.