Observação: Executores hospedados em GitHub não são atualmente compatíveis com GitHub Enterprise Server. Você pode ver mais informações sobre suporte futuro planejado no Itinerário público do GitHub.
Visão Geral
GitHub Actions é uma plataforma de integração contínua e entrega contínua (CI/CD) que permite automatizar a sua compilação, testar e pipeline de implantação. É possível criar fluxos de trabalho que criam e testam cada pull request no seu repositório, ou implantar pull requests mesclados em produção.
GitHub Actions vai além de apenas DevOps e permite que você execute fluxos de trabalho quando outros eventos ocorrerem no seu repositório. Por exemplo, você pode executar um fluxo de trabalho para adicionar automaticamente as etiquetas apropriadas sempre que alguém cria um novo problema no repositório.
Você deve hospedar suas próprias máquinas virtuais do Linux, Windows ou macOS para executar fluxos de trabalho para your GitHub Enterprise Server instance. Os executores auto-hospedados podem ser físicos, virtuais, estar em um container, no local ou em uma nuvem.
Para obter informações mais informações sobre a introdução de GitHub Actions � sua empresa, consulte "Apresentando GitHub Actions � sua empresa. "
Componentes de GitHub Actions
É possível configurar um GitHub Actions fluxo de trabalho para ser acionado quando um evento ocorre no repositório como, por exemplo, um pull request sendo aberto ou um problema sendo criado. O seu fluxo de trabalho contém um ou mais trabalhos que podem ser executados em ordem sequencial ou em paralelo. Cada trabalho será executado dentro do executor da sua própria máquina virtual ou dentro de um contêiner, e conta com uma mais etapas que executa um script que você define ou executa uma ação __, que é uma extensão reutilizável que pode simplificar o seu fluxo de trabalho.
Fluxos de trabalho
Um fluxo de trabalho é um processo automatizado configurável que executa um ou mais trabalhos. Os fluxos de trabalho são definidos por um arquivo YAML verificado no seu repositório e será executado quando acionado por um evento no repositório, ou eles podem ser acionados manualmente ou de acordo com um cronograma definido.
Os fluxos de travalho são definidos no diretório .github/workflows
em um repositório, e um repositório pode ter vários fluxos de trabalho, cada um deles pode executar um conjunto diferente de tarefas. Por exemplo, você pode ter um fluxo de trabalho para criar e testar pull requests, outro fluxo de trabalho para implantar seu aplicativo toda vez que uma versão for criada, e outro fluxo de trabalho que adiciona uma etiqueta toda vez que alguém abre um novo problema.
Para obter mais informações sobre fluxos de trabalho, consulte "Usando fluxos de trabalho".
Eventos
Um evento é uma atividade específica em um repositório que aciona a execução de um fluxo de trabalho. Por exemplo, a atividade pode originar-se de GitHub quando alguém cria uma solicitação de pull request, abre um problema ou faz envio por push de um commit para um repositório. Você também pode acionar a execução de um fluxo de trabalho em um cronograma, em postando em uma API REST, ou manualmente.
Para obter uma lista completa de eventos que podem ser usados para acionar fluxos de trabalho, consulte Eventos que acionam fluxos de trabalho.
Trabalhos
Um trabalho é um conjunto de etapas em um fluxo de trabalho que é executado no mesmo executor. Cada etapa é um script do shell que será executado, ou uma ação que será executada. As etapas são executadas em ordem e dependem uma da outra. Uma vez que cada etapa é executada no mesmo executor, você pode compartilhar dados de um passo para outro. Por exemplo, você pode ter uma etapa que compila a sua aplicação seguida de uma etapa que testa ao aplicativo criado.
Você pode configurar as dependências de um trabalho com outros trabalhos; por padrão, os trabalhos não têm dependências e são executados em paralelo um com o outro. Quando um trabalho leva uma dependência de outro trabalho, ele irá aguardar que o trabalho depeendente seja concluído antes que possa executar. Por exemplo, você pode ter vários trabalhos de criação para diferentes arquiteturas que não têm dependências, e um trabalho de pacotes que depende desses trabalhos. Os trabalhos de criação serão executados em paralelo e, quando todos forem concluídos com sucesso, o trabalho de empacotamento será executado.
Para obter mais informações sobre trabalhos, consulte "Usando trabalhos".
Actions
Uma ação é uma aplicativo personalizado para a plataforma de GitHub Actions que executa uma tarefa complexa, mas frequentemente repetida. Use uma ação para ajudar a reduzir a quantidade de código repetitivo que você grava nos seus arquivos de fluxo de trabalho. Uma ação pode extrair o seu repositório git de GitHub, configurar a cadeia de ferramentas correta para seu ambiente de criação ou configurar a autenticação para seu provedor de nuvem.
Você pode gravar suas próprias ações, ou você pode encontrar ações para usar nos seus fluxos de trabalho em GitHub Marketplace.
Para obter mais informações, consulte "Criar ações".
Executores
Um executor é um servidor que executa seus fluxos de trabalho quando são acionados. Cada executor pode executar uma tarefa por vez. Você deve hospedar seus próprios executores para GitHub Enterprise Server. Para mais informações, consulte "Hospedando os seus próprios executores"
Criar um exemplo de fluxo de trabalho
GitHub Actions usa a sintaxe do YAML para definir o fluxo de trabalho. Each workflow is stored as a separate YAML file in your code repository, in a directory named .github/workflows
.
Você pode criar um exemplo de fluxo de trabalho no repositório que aciona automaticamente uma série de comandos sempre que o código for carregado. In this workflow, GitHub Actions checks out the pushed code, installs the bats testing framework, and runs a basic command to output the bats version: bats -v
.
-
No seu repositório, crie o diretório
.github/workflows/
para armazenar seus arquivos do fluxo de trabalho. -
No diretório
.github/workflows/
, crie um novo arquivo denominadolearn-github-actions.yml
e adicione o código a seguir.name: learn-github-actions on: [push] jobs: check-bats-version: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: node-version: '14' - run: npm install -g bats - run: bats -v
-
Faça commit dessas alterações e faça push para o seu repositório do GitHub.
Seu novo arquivo de fluxo de trabalho de GitHub Actions agora está instalado no seu repositório e será executado automaticamente toda vez que alguém fizer push de uma alteração no repositório. To see the details about a workflow's execution history, see "Viewing the activity for a workflow run."
Entender o arquivo de fluxo de trabalho
Para ajudar você a entender como a sintaxe de YAML é usada para criar um arquivo de fluxo de trabalho, esta seção explica cada linha do exemplo Introdução:
|
Opcional - Como o nome do fluxo de trabalho irá aparecer na aba Ações do repositório de GitHub. |
|
Especifica o gatilho para este fluxo de trabalho. Este exemplo usa o evento push para que a execução de um fluxo de trabalho seja acionada toda vez que alguém fizer push de uma alteração no repositório ou merge de um pull request. This is triggered by a push to every branch; for examples of syntax that runs only on pushes to specific branches, paths, or tags, see "Workflow syntax for GitHub Actions."
|
|
Agrupa todos os trabalhos executados no fluxo de trabalho learn-github-actions .
|
|
Define uma tarefa chamada check-bats-version . As chaves secundaárias definirão as propriedades do trabalho.
|
|
Configura o trabalho a ser executado na versão mais recente de um executor do Linux do Ubuntu. Isto significa que o trabalho será executado em uma nova máquina virtual hospedada pelo GitHub. For syntax examples using other runners, see "Workflow syntax for GitHub Actions." |
|
Agrupa todos os passos são executados no trabalho check-bats-version . Cada item aninhado nesta seção é uma ação separada ou script do shell.
|
|
A palavra-chave usa especifica que esta etapa irá executar v3 da ação actions/checkout . Esta é uma ação que faz o check-out do seu repositório para o executor, permitindo que você execute scripts ou outras ações com base no seu código (como ferramentas de compilação e teste). Você deve usar a ação de checkout sempre que o fluxo de trabalho for executado no código do repositório.
|
|
Essa etapa usa a ação de actions/setup-node@v2 para instalar a versão especificada do Node.js (este exemplo usa v14). Isso coloca os dois comandos nó e npm no seu PATH .
|
|
A palavra-chave executar diz ao trabalho para executar um comando no executor. Neste caso, você está usando o npm para instalar o pacote de teste do software bats .
|
|
Por fim, você executará o comando bats com um parâmetro que produz a versão do software.
|
Visualizar o arquivo de fluxo de trabalho
Neste diagrama, você pode ver o arquivo de fluxo de trabalho que acabou de criar e como os componentes de GitHub Actions estão organizados em uma hierarquia. Cada etapa executa uma única ação ou script do shell. As etapas 1 e 2 executam ações, enquanto as etapas 3 e 4 executam scripts de shell. Para encontrar mais ações pré-criadas para seus fluxos de trabalho, consulte "Encontrar e personalizar ações".
Viewing the activity for a workflow run
When your workflow is triggered, a workflow run is created that executes the workflow. After a workflow run has started, you can see a visualization graph of the run's progress and view each step's activity on GitHub.
-
No your GitHub Enterprise Server instance, navegue até a página principal do repositório.
-
No nome do seu repositório, clique em Ações.
-
Na barra lateral esquerda, clique no fluxo de trabalho que deseja ver.
-
Em "Execuções do fluxo de trabalho", clique no nome da execução que você deseja ver.
-
Em Trabalhos ou no gráfico de visualização, clique no trabalho que você deseja ver.
-
Visualizar os resultados de cada etapa.
Exemplos mais complexos
Para obter exemplos que demonstram características mais complexas do GitHub Actions, consulte "Exemplos". Você pode ver exemplos detalhados que explicam como testar seu código em um executor, acessar a CLI de GitHub e usar funcionalidades avançadas como matrizes de concorrência e teste.
Próximas etapas
-
Para continuar aprendendo sobre GitHub Actions, consulte "Encontrar e personalizar ações".
-
Para entender como a cobrança funciona para GitHub Actions, consulte "Sobre cobrança para GitHub Actions".
Entrar em contato com o suporte
Se precisar de ajuda com algo relacionado com a configuração do fluxo de trabalho, como sintaxe, executores hospedados em GitHub, ou ações de criação, procure por um tópico existente ou comece um novo na categoria de Suporte � Comunidade GitHub GitHub Actions .
Se você tiver comentários ou solicitações de recursos para GitHub Actions, compartilhe-os na Feedback discussion for GitHub Actions.
Contatar your site administrator para qualquer uma das seguintes opções, se o uso ou uso pretendido se enquadra nas categorias limite:
- Se você acredita que sua conta foi restrita incorretamente
- Se você encontrar um erro inesperado ao executar uma de suas Ações, por exemplo: um ID exclusivo
- Se você encontrar uma situação onde o comportamento existente contradiz o esperado, mas nem sempre documentado, comportamento