Примечание. В GitHub Enterprise Server в настоящее время не поддерживаются средства выполнения тестов, размещенные в GitHub. Дополнительные сведения о планируемой поддержке в будущем см. в GitHub public roadmap.
Обзор примера
В этой статье на примере рабочего процесса демонстрируется применение некоторых функций GitHub Actions для непрерывной интеграции. Когда этот рабочий процесс активируется, он проверяет код с помощью матрицы сочетаний тестов с npm test
.
На следующей схеме показано общее представление этапов рабочего процесса и их выполнение в задании:
Функции, используемые в этом примере
Пример рабочего процесса демонстрирует следующие возможности GitHub Actions:
Возможность | Реализация |
---|---|
Запуск рабочего процесса из пользовательского интерфейса вручную: | workflow_dispatch |
Пример рабочего процесса
Следующий рабочий процесс был создан командой разработчиков документации для GitHub. Чтобы получить последнюю версию этого файла из репозитория github/docs
, перейдите по адресу: test.yml
.
Примечание. Каждая строка этого рабочего процесса описана в следующем разделе Основные сведения о примере.
|
Общие сведения о примере
В следующей таблице собраны сведения о том, как каждая из этих возможностей используется при создании рабочего процесса GitHub Actions.
Код | Пояснение |
---|---|
|
Имя рабочего процесса в том виде, в котором оно появится на вкладке "Действия" репозитория GitHub. |
|
Ключевое слово |
|
Добавьте событие |
|
Добавьте событие |
|
Добавьте событие |
|
Изменяет разрешения по умолчанию, предоставленные |
|
Создает группу параллелизма для определенных событий и использует оператор |
|
Отменяет задание или рабочий процесс, которые сейчас выполняются в той же группе параллелизма. |
|
Объединяет все задания, выполняемые в файле рабочего процесса. |
|
Определяет задание с идентификатором |
|
Настраивает задание для запуска в средстве выполнения тестов, размещенном в GitHub, или в локальном средстве выполнения тестов в зависимости от репозитория, выполняющего рабочий процесс. В этом примере задание будет выполняться в локальном средстве выполнения тестов, если репозиторий называется |
|
Задает максимальное количество минут, в течение которых задание будет выполняться до его автоматической отмены. Дополнительные сведения см. на веб-сайте |
|
В этом разделе определяется матрица сборки для заданий. |
|
Если для |
|
Создает матрицу с именем |
|
Группируют все шаги, которые будут выполняться в рамках задания |
|
Ключевое слово |
|
Если текущий репозиторий является репозиторием |
|
Если текущий репозиторий является репозиторием |
|
Если текущий репозиторий является репозиторием |
|
На этом шаге выполняется команда для извлечения объектов LFS из репозитория. |
|
На этом шаге используется действие |
|
На этом шаге выполняется команда оболочки, которая использует выходные данные предыдущего шага для создания файла, содержащего список файлов, измененных в запросе на вытягивание. |
|
На этом шаге используется действие |
|
На этом шаге выполняется команда оболочки |
|
На этом шаге используется действие |
|
На этом шаге запускается скрипт сборки. |
|
На этом шаге выполняются тесты с использованием |
Дальнейшие действия
- Основные понятия, используемые в GitHub Actions, можно изучить в статье Общие сведения о GitHub Actions.
- Инструкции по созданию простого рабочего процесса см. в статье Краткое руководство по GitHub Actions.
- Если вы уже знакомы с основными концепциями GitHub Actions, можете перейти к изучению рабочих процессов и их возможностей в этой статье.