Gerenciar ações e fluxos de trabalho
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.
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.
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/labeler
e 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:
Crie um arquivo de
yml
fluxo de trabalho.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 chamadoocto-organization-ci.properties.json
contém os metadados para o arquivo de fluxo de trabalho chamadoocto-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.