Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais recentes, acesse a documentação em inglês. Se houver problemas com a tradução desta página, entre em contato conosco.

Criando uma ação de etapas de execução compostas

Neste guia, você aprenderá a construir uma ação de etapas de execução compostas.

GitHub Actions está disponível com GitHub Free, GitHub Pro, GitHub Free para organizações, GitHub Team, GitHub Enterprise Cloud e GitHub One. GitHub Actions não está disponível para repositórios privados pertencentes a contas usando os planos de legado por repositório. Para obter mais informações, consulte "produtos de GitHub

Neste artigo

Esse documento ajudou você?

Ajude-nos a tornar esses documentos ótimos!

Todos os documentos do GitHub são de código aberto. Você percebeu que algo que está errado ou não está claro? Envie um pull request.

Faça uma contribuição

Ou, aprenda como contribuir.

Introdução

Neste guia, você aprenderá os componentes básicos necessários para criar e usar uma ação de etapas de execução compostas empacotada. Para manter o foco deste guia nos componentes necessários para empacotar a ação, a funcionalidade do código da ação é mínima. A ação imprime "Hello World" e "Goodbye", ou, se você fornecer um nome personalizado, imprimirá "Hello [who-to-greet]" e "Goodbye". A ação também mapeia um número aleatório para a variável de saída random-number e executa um script denominado goodbye.sh.

Ao terminar esse projeto, você saberá como criar sua própria ação de etapas de execução compostas e poderá testá-la em um fluxo de trabalho.

Pré-requisitos

Antes de começar, você criará um repositório GitHub.

  1. Crie um repositório público novo no GitHub. Você pode escolher qualquer nome de repositório, ou usar o exemplo hello-world-composite-run-steps-action. É possível adicionar esses arquivos após push do projeto no GitHub. Para obter mais informações, consulte "Criar um repositório novo".

  2. Clone o repositório para seu computador. Para obter mais informações, consulte "Clonar um repositório".

  3. No seu terminal, mude os diretórios para seu novo repositório.

    cd hello-world-composite-run-steps-action
  4. No repositório hello-world-composite-run-steps-action, crie um novo arquivo denominado goodbye.sh e adicione o código de exemplo a seguir:

    echo "Goodbye"
    
  5. No seu terminal, torne goodbye.sh executável.

    chmod +x goodbye.sh
  6. No terminal, verifique no seu arquivo goodbye.sh.

    git add goodbye.sh
    git commit -m "Add goodbye script"
    git push

Criar um arquivo de metadados de ação

  1. No repositório hello-world-composite-run-steps-action , crie um novo arquivo chamado action.yml e adicione o código de exemplo a seguir. Para obter mais informações sobre essa sintaxe, consulte "executa para uma etapa de execução composta".

    action.yml

    name: 'Hello World'
    description: 'Greet someone'
    inputs:
      who-to-greet:  # id of input
        description: 'Who to greet'
        required: true
        default: 'World'
    outputs:
      random-number: 
        description: "Random number"
        value: ${{ steps.random-number-generator.outputs.random-id }}
    runs:
      using: "composite"
      steps: 
        - run: echo Hello ${{ inputs.who-to-greet }}.
          shell: bash
        - id: random-number-generator
          run: echo "::set-output name=random-id::$(echo $RANDOM)"
          shell: bash
        - run: ${{ github.action_path }}/goodbye.sh
          shell: bash
    

    Este arquivo define a entrada de who-to-greet, mapeia o número aleatório gerado para a variável de saída random-number e executa o script goodbye.sh. Também diz ao runner como executar a ação de etapas compostas de execução.

    Para obter mais informações sobre o gerenciamento de saídas, consulte "saídas para as etapas e execução compostas".

    Para obter mais informações sobre como usar github.action_path, consulte "github context".

  2. No seu terminal, verifique o seu arquivo action.yml.

    git add action.yml
    git commit -m "Add action"
    git push
  3. No seu terminal, adicione uma tag. Este exemplo usa uma tag denominada v1. Para obter mais informações, consulte "Sobre ações".

    git tag -a -m "Description of this release" v1
    git push --follow-tags

Testar sua ação em um fluxo de trabalho

O código de fluxo de trabalho a seguir usa a ação hello world completa que você fez em "Criando uma ação arquivo de metadados".

Copie o código do fluxo de trabalho em um arquivo .github/workflows/main.yml em outro repositório, mas substitua actions/hello-world-composite-run-steps-action@v1 pelo repositório e a tag que você criou. Você também pode substituir a entrada who-to-greet pelo seu nome.

.github/workflows/main.yml

on: [push]

jobs:
  hello_world_job:
    runs-on: ubuntu-latest
    name: A job to say hello
    steps:
    - uses: actions/checkout@v2
    - id: foo
      uses: actions/hello-world-composite-run-steps-action@v1
      with:
        who-to-greet: 'Mona the Octocat'
    - run: echo random-number ${{ steps.foo.outputs.random-number }} 
      shell: bash

No seu repositório, clique na aba Ações e selecione a última execução do fluxo de trabalho. A saída deve incluir: "Hello Mona the Octocat", o resultado do script "Goodbye" e um número aleatório.

Esse documento ajudou você?

Ajude-nos a tornar esses documentos ótimos!

Todos os documentos do GitHub são de código aberto. Você percebeu que algo que está errado ou não está claro? Envie um pull request.

Faça uma contribuição

Ou, aprenda como contribuir.