Управление действиями и рабочими процессами

Завершено

Здесь вы изучите различные инструменты и стратегии, доступные для вас в 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/labeleractions/upload-artifactactions/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 организации могут создавать шаблоны рабочих процессов, которые будут доступны для использования членами другой организации с тем же доступом для записи. Затем можно использовать шаблоны рабочих процессов для создания новых рабочих процессов в общедоступных и частных репозиториях организации.

Создание шаблона рабочего процесса выполняется в два этапа.

  1. Создайте файл рабочего процесса yml.

  2. 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

После создания шаблона рабочего процесса пользователи в организации могут найти его в разделе Действия > Новый рабочий процесс > Рабочие процессы, созданные _имя_вашей_организации.

Пример шаблона рабочего процесса.