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 fluxos de trabalho iniciais permitem que todos na 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 fluxo de trabalho inicial, e uma parte ou todo o trabalho de escrever o fluxo de trabalho será feito para você. Você pode usar fluxos de trabalho iniciais como ponto de partida para criar seu fluxo de trabalho personalizado ou usá-los no estado em que se encontram. Isso não só poupa tempo, como promove consistência e práticas recomendadas na sua organização.
O GitHub fornece fluxos de trabalho iniciais 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".
-
CI (integração contínua) . Para obter mais informações, confira "Sobre integração contínua".
-
Automação. Os fluxos de trabalho iniciais 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.
Criando um fluxo de trabalho inicial
Os fluxos de trabalho iniciais podem ser criados por usuários com acesso de gravação no repositório .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 os fluxos de trabalho iniciais, você pode chamar fluxos de trabalho reutilizáveis 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".
Este procedimento demonstra como criar um arquivo de metadados e fluxo de trabalho inicial. O arquivo de metadados descreve como os fluxos de trabalho iniciais serão apresentados aos usuários quando estiverem criando um novo fluxo de trabalho.
-
Se ele ainda não existir, crie um 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 starter workflow.", "iconName": "example-icon", "categories": [ "Go" ], "filePatterns": [ "package.json$", "^Dockerfile", ".*\\.md$" ] }
{ "name": "Octo Organization Workflow", "description": "Octo Organization CI starter workflow.", "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 fluxo de trabalho inicial, adicione seus arquivos ao mesmo diretório workflow-templates
.
Próximas etapas
Para continuar aprendendo sobre o GitHub Actions, confira "Usando fluxos de trabalho iniciais".