Управление действиями и рабочими процессами
Здесь вы изучите различные инструменты и стратегии, доступные для вас в GitHub Enterprise Cloud и GitHub Enterprise Server, чтобы совместно использовать действия и рабочие процессы GitHub, а также управлять их использованием в организации.
Содержимое структурировано относительно уровня, на котором доступны представленные средства: уровень предприятия или уровень организации.
На уровне предприятия
Настройка политики использования GitHub Actions
Рабочие процессы GitHub Actions часто содержат действия, которые представляют собой наборы отдельных команд, выполняемых в рабочем процессе. При создании рабочего процесса можно создавать собственные действия для использования или ссылаться на общедоступные действия сообщества, доступные в GitHub Marketplace. По этой причине настройка политики использования для рабочих процессов и действий на предприятии необходима для того, чтобы пользователи не могли использовать вредоносные сторонние действия.
У вас есть несколько вариантов в Enterprise Cloud для настройки политики, а также в Enterprise Server, если GitHub Connect включен в корпоративных параметрах.
Чтобы настроить политику использования GitHub Actions для предприятия, перейдите к своей учетной записи предприятия, а затем выберите Политики > Действия в боковой панели. Должны появиться следующие параметры.
Раскрывающийся список в верхней части, помеченный как Включено для всех организаций, позволяет решать, какие организации в пределах предприятия могут использовать GitHub Actions (все они, некоторые из них или ни одного из них), а три параметра ниже позволяют определить уровень ограничений GitHub Actions в этих организациях.
Если вы хотите включить только определенные действия, которые будут использоваться в вашей организации, выберите "Разрешить предприятие" и выберите не корпоративную, действия и повторно используемые рабочие процессы и выберите вариант, соответствующий вашему варианту использования.
Ручная синхронизация открытых действий для Enterprise Server
Большинство официальных действий, созданных GitHub, автоматически упаковываются с Enterprise Server, и они записываются в определенный момент времени из GitHub Marketplace. К ним относятся actions/checkout
, , actions/labeler
actions/upload-artifact
actions/download-artifact
и различные действия, среди прочего.actions/setup-
Чтобы получить все официальные действия, включенные в корпоративный экземпляр, перейдите к организации действий в вашем экземпляре: https://HOSTNAME/actions.
Как упоминалось в разделе "Настройка действий GitHub Actions" , можно настроить Enterprise Server для автоматического доступа к общедоступным действиям, доступным в GitHub Marketplace, и настроить для них политику использования. Однако если требуется более строгий контроль над общедоступными действиями, которые должны быть доступны в вашей организации, вы можете вручную скачать и синхронизировать действия в корпоративный экземпляр с помощью actions-sync
средства.
На уровне организации
Документирование корпоративных стандартов
Создание рабочего процесса GitHub Actions часто включает написание нескольких файлов и создание нескольких репозиториев, чтобы указать рабочий процесс в самом себе. Создание также включает действия, контейнеры и /или средства выполнения для использования в рабочем процессе. В зависимости от количества пользователей в экземпляре Enterprise Cloud или Enterprise Server все может быть запутано довольно быстро, если у вас нет корпоративных стандартов для создания рабочих процессов GitHub Actions.
Рекомендуется документировать следующее на вики-сайте GitHub или в виде файла Markdown в репозитории, доступном для всех в пределах организации:
- Репозитории для хранилища
- Соглашения об именовании файлов и папок
- Расположение общих компонентов
- Планы для текущего обслуживания
- Указания по участию в разработке
Создание шаблонов рабочих процессов
Шаблоны рабочих процессов — это отличный способ обеспечить повторное использование и сохранение автоматизации на предприятии. Как в Enterprise Cloud, так и Enterprise Server, пользователи с доступом на запись в репозиторий .github
организации могут создавать шаблоны рабочих процессов, которые будут доступны для использования членами другой организации с тем же доступом для записи. Затем можно использовать шаблоны рабочих процессов для создания новых рабочих процессов в общедоступных и частных репозиториях организации.
Создание шаблона рабочего процесса выполняется в два этапа.
Создайте файл рабочего процесса
yml
.json
Создайте файл метаданных, описывающий, как шаблон должен быть представлен пользователям при создании рабочего процесса.Примечание.
Имя файла метаданных должно совпадать с именем файла рабочего процесса. Вместо расширения
.yml
необходимо добавить.properties.json
. Например, файл с именемocto-organization-ci.properties.json
содержит метаданные для файла рабочего процесса с именемocto-organization-ci.yml
.
Оба файла должны размещаться в общедоступном репозитории .github
и в каталоге с именем workflow-templates
. Может потребоваться создать их, если они еще не существуют в вашей организации.
Ниже приведен пример базового файла рабочего процесса:
name: Octo Organization CI
on:
push:
branches: [ $default-branch ]
pull_request:
branches: [ $default-branch ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run a one-line script
run: echo Hello from Octo Organization
Обратите внимание, что предыдущий $default-branch
файл использует заполнитель. При создании рабочего процесса с помощью шаблона этот заполнитель автоматически заменяется именем ветви по умолчанию репозитория.
Ниже приведен файл метаданных, который будет создан для файла рабочего процесса:
{
"name": "Octo Organization Workflow",
"description": "Octo Organization CI workflow template.",
"iconName": "example-icon",
"categories": [
"Go"
],
"filePatterns": [
"package.json$",
"^Dockerfile",
".*\\.md$"
]
}
Файлы метаданных используют следующие параметры.
Параметр | Описание: | Обязательное поле |
---|---|---|
name |
Имя шаблона рабочего процесса, отображаемого в списке доступных шаблонов. | Да |
description |
Описание шаблона рабочего процесса, отображаемого в списке доступных шаблонов. | Да |
iconName |
Определяет значок для записи рабочего процесса в списке шаблонов. Должен быть значком SVG с тем же именем и храниться в каталоге workflow-templates . Например, на файл SVG с именем example-icon.svg будет даваться ссылка example-icon . |
No |
categories |
Определяет категорию языка рабочего процесса. Когда пользователь просматривает доступные шаблоны, шаблоны, соответствующие одному и тому же языку, будут более заметными. | No |
filePatterns |
Позволяет использовать шаблон, если репозиторий пользователя содержит файл в корневом каталоге, соответствующий определенному регулярному выражению. | No |
После создания шаблона рабочего процесса пользователи в организации могут найти его в разделе Действия > Новый рабочий процесс > Рабочие процессы, созданные _имя_вашей_организации.