Gerenciar ações e fluxos de trabalho

Concluído

Aqui, você explorará as diferentes ferramentas e estratégias disponíveis para você no GitHub Enterprise Cloud e no GitHub Enterprise Server para compartilhar ações e fluxos de trabalho do GitHub e gerenciar seu uso dentro da sua empresa.

O conteúdo é estruturado em torno do nível em que as ferramentas apresentadas estão disponíveis: nível empresarial ou nível organizacional.

A nível empresarial

Configurar uma política de uso de ações do GitHub

Os fluxos de trabalho de Ações do GitHub geralmente contêm ações, que são conjuntos de comandos autônomos a serem executados dentro do fluxo de trabalho. Ao criar um fluxo de trabalho, você pode criar suas próprias ações para usar ou fazer referência a ações públicas da comunidade disponíveis no GitHub Marketplace. Por esse motivo, configurar uma política de uso para fluxos de trabalho e ações em sua empresa é essencial para evitar que os usuários usem ações mal-intencionadas de terceiros.

Você tem várias opções no Enterprise Cloud para configurar uma política, bem como no Enterprise Server se o GitHub Connect estiver habilitado nas configurações da sua empresa.

Para configurar uma política de uso de Ações do GitHub para sua empresa, navegue até sua conta corporativa e, em seguida, até Ações de políticas > na barra lateral. As seguintes opções devem aparecer.

Captura de ecrã do ecrã Ações com as opções predefinidas selecionadas.

A lista suspensa na parte superior rotulada Habilitar para todas as organizações permite que você decida quais organizações em sua empresa podem usar as Ações do GitHub (todas elas, algumas delas ou nenhuma delas), enquanto as três opções abaixo permitem que você defina o nível de restrição das Ações do GitHub dentro dessas organizações.

Se você quiser habilitar apenas ações específicas para serem usadas em sua empresa, selecione Permitir empresa e selecione ações não corporativas e fluxos de trabalho reutilizáveis e escolha a opção correspondente ao seu caso de uso.

Captura de ecrã do ecrã Ações com a opção Permitir selecionar ações selecionada.

Sincronizar manualmente ações públicas para o Enterprise Server

A maioria das ações oficiais criadas pelo GitHub vem automaticamente empacotada com o Enterprise Server e é capturada em um determinado momento do GitHub Marketplace. Incluem actions/checkout, actions/upload-artifact, actions/download-artifact, , actions/labelere várias actions/setup- ações, entre outras. Para obter todas as ações oficiais incluídas em sua instância corporativa, navegue até a organização de ações em sua instância: https://HOSTNAME/actions.

Conforme mencionado na seção Configurar uma política de uso de ações do GitHub, é possível configurar o Enterprise Server para acessar automaticamente as ações públicas disponíveis no GitHub Marketplace e configurar uma política de uso para elas. No entanto, se você quiser um controle mais rigoroso sobre as ações públicas que devem ser disponibilizadas em sua empresa, poderá baixar e sincronizar manualmente as ações em sua instância corporativa usando a actions-sync ferramenta.

Ao nível da organização

Documentar normas corporativas

A criação de um fluxo de trabalho de Ações do GitHub geralmente envolve a gravação de vários arquivos e a criação de vários repositórios para especificar o fluxo de trabalho em si. A criação também inclui as ações, contêineres e/ou corredores a serem usados no fluxo de trabalho. Dependendo do número de usuários em sua instância Enterprise Cloud ou Enterprise Server, as coisas podem ficar confusas muito rapidamente se você não tiver padrões corporativos em vigor para criar fluxos de trabalho do GitHub Actions.

Como prática recomendada, recomendamos que você documente o seguinte em um wiki do GitHub ou como um arquivo de marcação em um repositório acessível a todos dentro de uma organização:

  • Repositórios para armazenamento
  • Convenções de nomenclatura de arquivos/pastas
  • Localização dos componentes partilhados
  • Planos de manutenção contínua
  • Orientações de contribuição

Criar modelos de fluxo de trabalho

Os modelos de fluxo de trabalho são uma ótima maneira de garantir que a automação seja reutilizada e mantida em sua empresa. Tanto no Enterprise Cloud quanto no Enterprise Server, os usuários com acesso de gravação ao repositório de .github uma organização podem criar modelos de fluxo de trabalho que estarão disponíveis para uso para os membros da outra organização com o mesmo acesso de gravação. Os modelos de fluxo de trabalho podem ser usados para criar novos fluxos de trabalho nos repositórios públicos e privados da organização.

A criação de um modelo de fluxo de trabalho é feita em duas etapas:

  1. Crie um arquivo de yml fluxo de trabalho.

  2. Crie um arquivo de json metadados que descreva como o modelo deve ser apresentado aos usuários ao criar um fluxo de trabalho.

    Nota

    O arquivo de metadados deve ter o mesmo nome que o arquivo de fluxo de trabalho. Em vez da extensão, ela deve ser anexada .yml com .properties.json. Por exemplo, um arquivo chamado octo-organization-ci.properties.json contém os metadados para o arquivo de fluxo de trabalho chamado octo-organization-ci.yml.

Ambos os arquivos devem ser colocados em um repositório público .github e em um diretório chamado workflow-templates. Talvez seja necessário criá-los se eles ainda não existirem em sua organização.

Segue-se um exemplo de um ficheiro de 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@v2

      - name: Run a one-line script
        run: echo Hello from Octo Organization

Observe que o arquivo anterior usa um $default-branch espaço reservado. Quando um fluxo de trabalho é criado usando seu modelo, esse espaço reservado é automaticamente substituído pelo nome da ramificação padrão do repositório.

A seguir está o arquivo de metadados que você criaria para o arquivo de fluxo de trabalho:

{
    "name": "Octo Organization Workflow",
    "description": "Octo Organization CI workflow template.",
    "iconName": "example-icon",
    "categories": [
        "Go"
    ],
    "filePatterns": [
        "package.json$",
        "^Dockerfile",
        ".*\\.md$"
    ]
}

Os arquivos de metadados usam os seguintes parâmetros:

Parâmetro Descrição Obrigatório
name Nome do modelo de fluxo de trabalho exibido na lista de modelos disponíveis. Sim
description Descrição do modelo de fluxo de trabalho exibido na lista de modelos disponíveis. Sim
iconName Define um ícone para a entrada do fluxo de trabalho na lista de modelos. Deve ser um ícone SVG com o mesmo nome e deve ser armazenado no workflow-templates diretório. Por exemplo, um arquivo SVG chamado example-icon.svg é referenciado como example-icon. Não
categories Define a categoria de idioma do fluxo de trabalho. Quando um usuário visualiza os modelos disponíveis, os modelos que correspondem ao mesmo idioma serão apresentados com mais destaque. Não
filePatterns Permite que o modelo seja usado se o repositório do usuário tiver um arquivo em seu diretório raiz que corresponda a uma expressão regular definida. Não

Depois que um modelo de fluxo de trabalho é criado, os usuários em sua organização podem encontrá-lo em Ações > Novos fluxos de trabalho de fluxo de trabalho > criados por _your_organization_name.

Exemplo de modelo de fluxo de trabalho.