Observação: no momento, não há suporte para os executores hospedados no GitHub no GitHub Enterprise Server. Você pode ver mais informações sobre o suporte futuro planejado no GitHub public roadmap.
Visão geral
Os modelos de fluxo de trabalho permitem que todos em sua organização que tenham permissão para criar fluxos de trabalho façam isso com mais rapidez e facilidade. Ao criar um fluxo de trabalho, você pode escolher um modelo de fluxo de trabalho, e o trabalho de escrever o fluxo de trabalho, no todo ou em parte, será feito para você. Você pode usar o modelo de fluxo de trabalho como ponto de partida para criar seu fluxo de trabalho personalizado ou usá-lo no estado em que se encontra. Isso não só poupa tempo, como promove consistência e práticas recomendadas na sua organização.
O GitHub fornece modelos de fluxo de trabalho prontos para uso para as seguintes categorias de alto nível:
-
Implantação (CD) . Para obter mais informações, confira "Sobre a implantação contínua com o GitHub Actions".
-
CI (integração contínua) . Para obter mais informações, confira "Sobre a integração contínua com o GitHub Actions".
-
Automação. Os modelos de fluxo de trabalho de automação oferecem soluções para automatizar os fluxos de trabalho, como a triagem de solicitações de pull e a aplicação de um rótulo com base nos caminhos modificados na solicitação de pull ou a saudação de usuários que estão colaborando pela primeira vez no repositório.
Note
Como os modelos de fluxo de trabalho exigem um repositório público do .github
, eles não estão disponíveis para o Enterprise Managed Users.
Criar um modelo de fluxo de trabalho
Os modelos de fluxo de trabalho podem ser criados por usuários com acesso de gravação ao repositório público do .github
da organização. Eles poderão ser usados pelos integrantes da organização com permissão para criar fluxos de trabalho.
Observação: para evitar a duplicação entre modelos de fluxo de trabalho, você pode chamar fluxos de trabalho reutilizáveis por meio de em um fluxo de trabalho. Isso pode ajudar a manter seus fluxos de trabalho de forma mais fácil. Para obter mais informações, confira "Reutilizar fluxos de trabalho".
Esse procedimento demonstra como criar um modelo de fluxo de trabalho e um arquivo de metadados. O arquivo de metadados descreve como os modelos de fluxo de trabalho serão apresentados aos usuários quando eles criarem um novo fluxo de trabalho.
-
Se ele ainda não existir, crie um novo repositório público chamado
.github
na sua organização. -
Crie um diretório com o nome
workflow-templates
. -
Crie o arquivo de fluxo de trabalho no diretório
workflow-templates
.Caso precise se referir ao branch padrão de um repositório, use o espaço reservado
$default-branch
. Quando um fluxo de trabalho é criado, o espaço reservado será automaticamente substituído pelo nome do branch padrão do repositório.
Observação: os seguintes valores na chave runs-on
também são tratados como espaços reservados:
- "ubuntu-latest" é substituído por "[ auto-hospedado ]"
- "windows-latest" é substituído por "[ auto-hospedado, windows ]"
- "macos-latest" é substituído por "[ auto-hospedado, macOS ]"
Por exemplo, este arquivo chamado octo-organization-ci.yml
demonstra um fluxo de trabalho básico.
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
-
Crie um arquivo de metadados no diretório
workflow-templates
. O arquivo de metadados precisa ter o mesmo nome do arquivo de fluxo de trabalho, mas, em vez da extensão.yml
, é preciso acrescentar.properties.json
a ele. Por exemplo, este arquivo chamadoocto-organization-ci.properties.json
contém os metadados para o arquivo de fluxo de trabalho chamadoocto-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
- Obrigatório. Nome do fluxo de trabalho. É exibido na lista de fluxos de trabalho disponíveis. -
description
- Obrigatório. Descrição do fluxo de trabalho. É exibido na lista de fluxos de trabalho disponíveis. -
iconName
- Opcional. Especifica um ícone para o fluxo de trabalho exibido na lista correspondente.iconName
pode ser de um dos seguintes tipos:- Um arquivo SVG armazenado no diretório de
workflow-templates
. Para fazer referência a um arquivo, o valor deve ser o nome do arquivo sem a extensão dele. Por exemplo, um arquivo SVG chamadoexample-icon.svg
é referenciado comoexample-icon
. - Um ícone do conjunto de Octicons do GitHub. Para fazer referência a um octicon, o valor dele deve ser
octicon <icon name>
. Por exemplo,octicon smiley
.
- Um arquivo SVG armazenado no diretório de
-
categories
- Opcional. Define as categorias em que o fluxo de trabalho é mostrado. Você pode usar nomes de categoria das seguintes listas:- Nomes de categorias gerais do repositório starter-workflows.
- Linguagens Linguist da lista de repositório em linguist.
- Pilhas de tecnologia com suporte da lista no repositório starter-workflows.
-
filePatterns
- Opcional. Permite que o modelo seja usado caso o repositório do usuário tenha um arquivo no diretório raiz que corresponda a uma expressão regular definida.
-
Para adicionar outro modelo de fluxo de trabalho, adicione seus arquivos ao mesmo diretório workflow-templates
.
Próximas etapas
Para continuar aprendendo sobre o GitHub Actions, confira "Usando modelos de fluxo de trabalho".