Esta versão do GitHub Enterprise foi descontinuada em 2021-09-23. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, melhorar a segurança e novos recursos, upgrade to the latest version of GitHub Enterprise. Para ajuda com a atualização, contact GitHub Enterprise support.

Procurar e personalizar ações

Ações são os blocos de construção que alimentam seu fluxo de trabalho. Um fluxo de trabalho pode conter ações criadas pela comunidade, ou você pode criar suas próprias ações diretamente no repositório do seu aplicativo. Este guia mostrará como descobrir, usar e personalizar ações.

Observação: GitHub Actions estava disponível para GitHub Enterprise Server 2.22 como um beta limitado. O beta terminou. GitHub Actions está agora geralmente disponível em GitHub Enterprise Server 3.0 ou posterior. Para obter mais informações, consulte as observações sobre a versão GitHub Enterprise Server 3.0.


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

As ações que você usa no seu fluxo de trabalho podem ser definidas em:

  • Um repositório público
  • O mesmo repositório onde o arquivo do fluxo de trabalho faz referência à ação
  • Uma imagem publicada do contêiner Docker no Docker Hub

GitHub Marketplace é um local central para você encontrar ações criadas pela comunidade de GitHub.

Observação: GitHub Actions em sua instância do GitHub Enterprise Server pode ter acesso limitado a ações em GitHub.com ou GitHub Marketplace. Para obter mais informações, consulte "Comunicação entre os executores auto-hospedados e GitHub".

Usar o gerenciamento de versões para suas ações personalizadas

Os criadores de uma ação da comunidade têm a opção de usar tags, branches ou valores do SHA para gerenciar as versçoes da ação. Semelhante a qualquer dependência, você deve indicar a versão da ação que gostaria de usar com para o seu conforto para aceitar automaticamente as atualizações da ação.

Você irá designar a versão da ação no seu arquivo de fluxo de trabalho. Verifique a documentação da ação para informações sobre suas abordagens de gerenciamento de versões e para ver qual tag, branch ou valor de SHA usar.

Observação: Recomendamos que você use um valor SHA quando estiver usando ações de terceiros. Para obter mais informações, consulte Enrijecimento de segurança para o GitHub Actions

Usar tags

As tags são úteis para permitir que você decida quando alternar entre versões maiores e menores, mas estas são mais efêmeras e podem ser movidas ou excluídas pelo mantenedor. Este exemplo demonstra como direcionar uma ação que foi marcada como v1.0.1:

steps:
  - uses: actions/javascript-action@v1.0.1

Usar SHAs

Se você precisar de uma versão mais confiável, você deverá usar o valor de SHA associado à versão da ação. Os SHAs são imutáveis e, portanto, mais confiáveis que tags ou branches. No entanto, esta abordagem significa que você não receberá automaticamente atualizações de uma ação, incluindo correções de erros importantes e atualizações de segurança. Este exemplo aponta para o SHA de uma ação:

steps:
  - uses: actions/javascript-action@172239021f7ba04fe7327647b213799853a9eb89

Usar branches

Especificar um branch de destino para a ação significa que ele sempre irá executar a versão atualmente nesse branch. Essa abordagem pode criar problemas se uma atualização do branch incluir mudanças significativas. Este exemplo é direcionado a um branch denominado @main:

steps:
  - uses: actions/javascript-action@main

Para obter mais informações, consulte "Usar o gerenciamento de versões para ações".

Usar entradas e saídas com uma ação

Uma ação geralmente aceita ou exige entradas e gera saídas que você pode usar. Por exemplo, uma ação pode exigir que você especifique um caminho para um arquivo, o nome de uma etiqueta ou outros dados que usará como parte do processamento da ação.

Para ver as entradas e saídas de uma ação, verifique a action.yml ou action.yaml no diretório-raiz do repositório.

Neste exemplo action.yml, a palavra-chave entradas define uma entrada obrigatória denominada file-path e inclui um valor-padrão que será usado, caso nenhum valor seja especificado. A palavra-chave saídas define uma saída denominada results-file, que diz onde localizar os resultados.

name: "Example"
description: "Receives file and generates output"
inputs:
  file-path: # id of input
    description: "Path to test script"
    required: true
    default: "test-file.js"
outputs:
  results-file: # id of output
    description: "Path to results file"

Referenciando uma ação no mesmo repositório onde um arquivo de fluxo de trabalho usa a ação

Se uma ação for definida no mesmo repositório onde seu arquivo de fluxo de trabalho usa a ação, você pode referenciar a ação com o{owner}/{repo}@{ref} ou ./path/to/dir sintaxe no seu arquivo de fluxo de trabalho.

Estrutura de arquivos do repositório de exemplo:

|-- Hello-world (repositório)
|   |__ .github
|       fluxos de trabalho └sadessa
|           └➤➤ my-first-workflow.yml
|       ações └➤➤
|           |__ Hello-world-action
|               └➤➤ ação.yml

Arquivo de fluxo de trabalho de exemplo:

empregos:
  construir:
    runs-on: ubuntu-latest
    passos:
      # Esta etapa confere uma cópia do seu repositório.
      - usa: ações/checkout@v2
      # Esta etapa faz referência ao diretório que contém a ação.
      - usa: ./.github/actions/hello-world-action

O arquivo action.yml é usado para fornecer metadados para a ação. Saiba mais sobre o conteúdo deste arquivo em "Sintaxe de metadados para o GitHub Actions"

Referenciando um contêiner no Docker Hub

Se uma ação for definida em uma imagem de contêiner Docker publicada no Docker Hub, você deve fazer referência à ação com o docker://{image}:{tag} sintaxe em seu arquivo de fluxo de trabalho. Para proteger seu código e dados, recomendamos fortemente que verifique a integridade da imagem do contêiner Docker do Docker Hub antes de usá-la em seu fluxo de trabalho.

empregos:
  my_first_job:
    passos:
      - nome: Meu primeiro passo
        usa: docker://alpine:3.8

Para ver alguns exemplos de ações do Docker, consulte o Fluxo de trabalho Docker-image.yml e "Criar uma ação de contêiner do Docker."

Próximas etapas

Para continuar aprendendo mais sobre GitHub Actions, consulte "Recursos essenciais de GitHub Actions".