Note
GitHubразмещенные в данный момент средства выполнения не поддерживаются в GitHub Enterprise Server. Дополнительные сведения о планируемой поддержке в будущем см. в GitHub public roadmap.
Обзор
Шаблоны рабочих процессов позволяют всем пользователям в организации, имеющим разрешение на создание рабочих процессов, сделать это быстрее и проще. При создании нового рабочего процесса можно выбрать шаблон рабочего процесса, а некоторые или все действия по написанию рабочего процесса будут выполнены для вас. Вы можете использовать шаблоны рабочих процессов в качестве отправного места для создания пользовательского рабочего процесса или использовать их как есть. Это не только экономит время, но и повышает уровень согласованности и продуктивности во всей организации.
GitHub предоставляет готовые шаблоны рабочих процессов для следующих категорий высокого уровня:
-
Непрерывное развертывание (CD). Дополнительные сведения см. в разделе Сведения о непрерывном развертывании с помощью GitHub Actions.
-
Непрерывная интеграция (CI). Дополнительные сведения см. в разделе Сведения о непрерывной интеграции с GitHub Actions.
-
Автоматизация. Шаблоны рабочих процессов автоматизации предлагают решения для автоматизации рабочих процессов, таких как три запроса на вытягивание и применение метки на основе путей, измененных в запросе на вытягивание, или приветствия пользователей, которые впервые входят в репозиторий.
Note
Так как для шаблонов рабочих процессов требуется общедоступный .github
репозиторий, они недоступны для Enterprise Managed Users.
Создание шаблона рабочего процесса
Шаблоны рабочих процессов можно создавать пользователями с доступом на запись в общедоступный_ .github
репозиторий организации_. Затем их могут использовать члены организации, имеющие разрешение на создание рабочих процессов.
Note
Чтобы избежать дублирования между шаблонами рабочих процессов, можно вызывать повторно используемые рабочие процессы из рабочего процесса. Это позволяет упростить обслуживание рабочих процессов. Дополнительные сведения см. в разделе Повторное использование рабочих процессов.
В этой процедуре показано, как создать шаблон рабочего процесса и файл метаданных. Файл метаданных описывает, как шаблоны рабочих процессов будут отображаться пользователям при создании нового рабочего процесса.
-
Если он еще не существует, создайте новый общедоступный репозиторий с именем
.github
в вашей организации. -
Создайте каталог с именем
workflow-templates
. -
Создайте новый файл рабочего процесса в каталоге
workflow-templates
.Если необходимо сослаться на ветвь репозитория по умолчанию, можно использовать заполнитель
$default-branch
. При создании рабочего процесса этот заполнитель автоматически заменяется именем ветви по умолчанию репозитория.Note
Следующие значения в
runs-on
ключе также рассматриваются как заполнители:- "Ubuntu-latest" заменяется на "[ локальная ]"
- "Windows-latest" заменяется на "[ локальное, windows ]"
- "macos-latest" заменяется на "[ локальная, macOS ]"
Например, этот файл с именем
octo-organization-ci.yml
демонстрирует базовый рабочий процесс.YAML name: Octo Organization CI on: push: branches: [ $default-branch ] pull_request: branches: [ $default-branch ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Run a one-line script run: echo Hello from Octo Organization
name: Octo Organization CI on: push: branches: [ $default-branch ] pull_request: branches: [ $default-branch ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Run a one-line script run: echo Hello from Octo Organization
-
Создайте файл метаданных в каталоге
workflow-templates
. Файл метаданных должен иметь то же имя, что и файл рабочего процесса, однако вместо расширения.yml
должно быть добавлено.properties.json
. Например, файл с именемocto-organization-ci.properties.json
содержит метаданные для файла рабочего процесса с именемocto-organization-ci.yml
.JSON { "name": "Octo Organization Workflow", "description": "Octo Organization CI workflow template.", "iconName": "example-icon", "categories": [ "Go" ], "filePatterns": [ "package.json$", "^Dockerfile", ".*\\.md$" ] }
{ "name": "Octo Organization Workflow", "description": "Octo Organization CI workflow template.", "iconName": "example-icon", "categories": [ "Go" ], "filePatterns": [ "package.json$", "^Dockerfile", ".*\\.md$" ] }
-
name
- Необходимые. Имя рабочего процесса. Отображается в списке доступных рабочих процессов. -
description
- Необходимые. Описание рабочего процесса. Отображается в списке доступных рабочих процессов. -
iconName
- Необязательно. Указывает значок рабочего процесса, отображаемого в списке рабочих процессов.iconName
может быть один из следующих типов:- ФАЙЛ SVG, хранящийся в каталоге
workflow-templates
. Чтобы ссылаться на файл, значение должно быть именем файла без расширения файла. Например, на файл SVG с именемexample-icon.svg
будет даваться ссылкаexample-icon
. - Значок из набора данных GitHubнабора Octicons. Чтобы ссылаться на октикон, значение должно быть
octicon <icon name>
. Например,octicon smiley
.
- ФАЙЛ SVG, хранящийся в каталоге
-
categories
- Необязательно. Определяет категории, в которые отображается рабочий процесс. Имена категорий можно использовать из следующих списков:- Общие имена категорий из репозитория начальных рабочих процессов.
- Языки Linguist из списка в лингвистском репозитории.
- Поддерживаемые стеки технологий из списка в репозитории начальных рабочих процессов.
-
filePatterns
- Необязательно. Позволяет использовать рабочий процесс, если репозиторий пользователя содержит файл в корневом каталоге, соответствующий определенному регулярному выражению.
-
Чтобы добавить другой шаблон рабочего процесса, добавьте файлы в тот же workflow-templates
каталог.
Следующие шаги
Дополнительные сведения о GitHub Actionsсм. в разделе "Использование шаблонов рабочих процессов".