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.

Ferramentas de desenvolvimento para o GitHub Actions

Você pode criar ações mais rapidamente usando algumas ferramentas e recursos desenvolvidos pelo GitHub.

GitHub Actions is available with GitHub Free, GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub One. GitHub Actions is not available for private repositories owned by accounts using legacy per-repository plans. For more information, see "GitHub's products."

Neste artigo

Conjunto de ferramentas para GitHub Actions

Se você está desenvolvendo um projeto Node.js, o conjunto de ferramentas de ações oferece pacotes que você pode usar em seu projeto para agilizar o desenvolvimento. Para obter mais informações, consulte o repositório ações/conjuntos de ferramentas.

Para começar rapidamente, você pode criar um repositório usando os repositórios modelo de ações de contêineres JavaScript ou Docker. Para obter mais informações, consulte, "modelo de ação JavaScript", "modelo de ação de contêiner Docker" e "Criar um repositório a partir de um modelo".

Comandos de log

Actions can communicate with the runner machine to set environment variables, output values used by other actions, add debug messages to the output logs, and other tasks.

Comandos de log usam o comando echo em um formato específico.

echo "::log-command parameter1={data},parameter2={data}::{command value}"

Obervação: o comando de log e nomes de parâmetros não diferenciam maiúsculas de minúsculas.

Aviso: se você estiver usando o Prompt de comando, omita as aspas duplas (") ao usar comandos de geração de log.

O GitHub Actions inclui vários comandos.

Configurar uma váriavel de ambiente: set-env

::set-env name={name}::{value}

Cria ou atualiza uma variável de ambiente para quaisquer ações a serem executadas em seguida no trabalho. A ação que cria ou atualiza a variável de ambiente não tem acesso a um valor novo, mas todas as ações subsequentes em um trabalho terão. As variáveis de ambiente diferenciam maiúsculas de minúsculas e podem ter pontuação.

Exemplo
echo "::set-env name=action_state::yellow"

Configurar um parâmetro de saída: set-output

::set-output name={name}::{value}

Configura um parâmetro de saída da ação.

Optionally, you can also declare output parameters in an action's metadata file. Para obter mais informações, consulte "Sintaxe de metadados para o GitHub Actions".

Exemplo
echo "::set-output name=action_fruit::strawberry"

Adicionar um caminho de sistema: add-path

::add-path::{path}

Agrega um diretório à variável de sistema PATH para todas as ações subsequentes no trabalho atual. A ação que está em execução não pode acessar a nova variável de caminho.

Exemplo
echo "::add-path::/path/to/dir"

Configurar uma mensagem de erro: debug

::debug::{message}

Imprime uma mensagem de erro no log. Você deve criar um segredo nomeado ACTIONS_STEP_DEBUG com o valor true para ver as mensagens de erro configuradas por esse comando no log. To learn more about creating secrets and using them in a step, see "Creating and using encrypted secrets."

Example
echo "::debug file=app.js,line=1::Entered octocatAddition method"

Definir uma mensagem de aviso: warning

::warning file={name},line={line},col={col}::{message}

Cria uma mensagem de aviso e a imprime no log. Como opção, você pode fornecer um nome de arquivo (file), número de linha (line) e número de coluna (col) onde o aviso ocorreu.

Example
echo "::warning file=app.js,line=1,col=5::Missing semicolon"

Definir uma mensagem de erro: error

::error file={name},line={line},col={col}::{message}

Cria uma mensagem de erro e a imprime no log. Como opção, você pode fornecer um nome de arquivo (file), número de linha (line) e número de coluna (col) onde o aviso ocorreu.

Exemplo
echo "::error file=app.js,line=10,col=15::Something went wrong"

Mascarar um valor no log: add-mask

::add-mask::{value}

Mascarar um valor evita que uma string ou variável seja impressa no log. Cada palavra mascarada separada por espaço em branco é substituída pelo caractere *. Você pode usar uma variável de ambiente ou string para o value da máscara.

Exemplo de máscara de string

Quando você imprime "Mona The Octocat" no log, você verá "***".

echo "::add-mask::Mona The Octocat"
Exemplo de máscara de uma variável de ambiente

Ao imprimir a variável MY_NAME ou o valor "Mona The Octocat" no log, você verá "***" em vez de "Mona The Octocat".

MY_NAME="Mona The Octocat"
echo "::add-mask::$MY_NAME"

Parar e iniciar comandos de log: stop-commands

::stop-commands::{endtoken}

Para de processar os comandos de geração de log. Esse comando especial permite registrar em log o que você desejar sem executar acidentalmente um comando de log. Por exemplo, é possível parar o log para gerar um script inteiro que tenha comentários.

Exemplo de interrupção de comandos de log
echo "::stop-commands::pause-logging"

Para iniciar os comandos de log, passe o token usado para interromper a geração de log.

::{endtoken}::

Exemplo de inicialização de comandos de log
echo "::pause-logging::"

Definir o status de uma ação usando códigos de saída

O GitHub usa o código de saída para definir o status da execução de verificação do GitHub Action, que pode ser success ou failure.

Status de saída Status de verificação de execução Descrição
0 success A ação foi concluída com êxito, outras tarefas que dependem dela podem começar.
Valor diferente de zero failure Qualquer outro código de saída indica falha na ação. Quando uma ação falha, todas as ações simultâneas são canceladas e as ações futuras são ignoradas. A execução de verificação e o conjunto de verificações ficam com status failure.

Definir um código de saída de falha em uma ação JavaScript

Se estiver criando uma ação JavaScript, você poderá usar o pacote @actions/core do conjunto de ferramentas de ações para registrar em log uma mensagem e definir um código de saída de falha. Por exemplo:

try {
  // something
} catch (error) {
  core.setFailed(error.message);
}

Para obter mais informações, consulte "Criar uma ação JavaScript".

Definir um código de saída de falha em uma ação de contêiner do Docker

Se estiver criando uma ação de contêiner do Docker, você poderá definir um código de saída de falha no seu script entrypoint.sh. Por exemplo:

if <condition> ; then
  echo "Game over!"
  exit 1
fi

Para obter mais informações, consulte "Criar uma ação de contêiner do Docker".

Pergunte a uma pessoa

Não consegue encontrar o que procura?

Entrar em contato