Skip to main content

Apresentando GitHub Actions à sua empresa

Você pode planejar como implantar GitHub Actions na sua empresa.

Sobre GitHub Actions para empresas

GitHub Actions é uma plataforma de integração contínua e entrega contínua (CI/CD) que permite automatizar a sua compilação, testar e pipeline de implantação. com GitHub Actions, sua empresa pode automatizar, personalizar e executar seus fluxos de trabalho de desenvolvimento de software como testes e implantações. Para saber mais, confira Sobre GitHub Actions para empresas.

Antes de apresentar GitHub Actions a uma grande empresa, primeiro você precisa planejar sua adoção e tomar decisões sobre como sua empresa usará GitHub Actions para melhor atender às suas necessidades exclusivas.

Governança e conformidade

Você deve criar um plano para reger o uso de GitHub Actions da empresa e cumprir suas obrigações de conformidade.

Determine quais ações e fluxos de trabalho reutilizáveis poderão ser usados pelos desenvolvedores. Primeiro, decida se você permitirá ações e fluxos de trabalho reutilizáveis de terceiros que não foram criados pelo GitHub. Você pode configurar as ações e os fluxos de trabalho reutilizáveis que têm permissão para execução nos níveis do repositório, da organização e da empresa e optar por permitir apenas as ações criadas pelo GitHub. Se você permitir ações e fluxos de trabalho reutilizáveis de terceiros, poderá limitar as ações permitidas somente às criadas por criadores verificados ou a uma lista específica de ações e fluxos de trabalho reutilizáveis.

Para saber mais, confira Gerenciando configurações de GitHub Actions para um repositório, Desabilitando ou limitando GitHub Actions para sua organização e Impor políticas para GitHub Actions em sua empresa.

Considere combinar o OpenID Connect (OIDC) com fluxos de trabalho reutilizáveis para aplicar implantações consistentes no seu repositório, organização ou empresa. Você pode fazer isso definindo condições de confiança nas funções da nuvem com base em fluxos de trabalho reutilizáveis. Para saber mais, confira Usando o OpenID Connect com fluxos de trabalho reutilizáveis.

Você pode acessar informações sobre atividades relacionadas ao GitHub Actions nos logs de auditoria da sua empresa. Se sua empresa precisa exigir a retenção de informações por mais tempo do que os dados do log de auditoria são retidos, planeje como você exportará e armazenará esses datos fora do GitHub. Para saber mais, confira Como exportar a atividade do log de auditoria da sua empresa e Como transmitir o log de auditoria para sua empresa.

Você pode praticar o princípio de menor privilégio administrando funções personalizadas da organização para acessar configurações no pipeline CI/CD de GitHub Actions. Para obter mais informações sobre funções de organização personalizadas, confira Permissões de funções de organização personalizadas.

Segurança

Você deve planejar sua abordagem do fortalecimento da segurança para GitHub Actions.

Fortalecimento da segurança dos fluxos de trabalho individuais e repositórios

Faça um plano para aplicar as práticas recmendadas de segurança para as pessoas que usam as funcionalidades de GitHub Actions na sua empresa. Para obter mais informações sobre essas práticas, consulte Referência de uso seguro.

Também é possível incentivar a reutilização de fluxos de trabalho que já foram avaliados para a segurança. Para obter mais informações, consulte Innersourcing.

Protegendo o acesso a segredos e recursos de implantação

Você deveria planejar onde você armazenará seus segredos. Recomendamos armazenar segredos em GitHub, mas você pode optar por armazenar segredos em um provedor de nuvem.

Em GitHub, você pode armazenar segredos no nível do repositório ou da organização. Os segredos no nível do repositório podem estar limitados a fluxos de trabalho em certos ambientes, como produção ou teste. Para saber mais, confira Usar segredos em ações do GitHub.

Você deve considerar a possibilidade de adicionar uma proteção manual de aprovação para ambientes confidenciais, de modo que os fluxos de trabalho precisem ser aprovados antes de terem acesso aos segredos do ambiente. Para saber mais, confira Gerenciar ambientes para implantação.

Considerações de segurança para ações de terceiros

Há um risco significativo em obter ações a partir de repositórios de terceiros no GitHub. Se você permitir ações de terceiros, você deverá criar diretrizes internas que incentivam a sua equipe a seguir as práticas recomendadas como, por exemplo, fixar ações para o SHA completo do commit. Para saber mais, confira Referência de uso seguro.

Rede privada com executores hospedados pelo GitHub

Você pode usar executores hospedados no GitHub em uma VNET do Azure. Isso permite usar a infraestrutura gerenciada pela GitHub para CI/CD e, ao mesmo tempo, fornece controle total sobre as políticas de rede dos seus executores. Para obter mais informações sobre VNETs do Azure, consulte O que é uma Rede Virtual do Azure?, na documentação do Azure. Para saber mais, confira Sobre a rede privada do Azure para executores hospedados no GitHub em sua empresa.

Innersourcing

Pense em como sua empresa pode usar funcionalidades de GitHub Actions para gerar automação de recursos internos. O innersourcing é uma maneira de incorporar os benefícios das metodologias open source em seu ciclo de desenvolvimento de software interno. Para obter mais informações, confira Uma introdução ao InnerSource em Recursos do GitHub.

Para compartilhar ações na empresa sem publicá-las publicamente, armazene as ações em um repositório interno e configure o repositório para permitir o acesso aos fluxos de trabalho do GitHub Actions em outros repositórios pertencentes à mesma organização ou a outras organizações da empresa. Para saber mais, confira Compartilhando ações e fluxos de trabalho com sua empresa.

Com os fluxos de trabalho reutilizáveis, a equipe pode chamar um fluxo de trabalho por meio de outro fluxo de trabalho, evitando a duplicação exata. Os fluxos de trabalho reutilizáveis promovem práticas recomendadas, ajudando a sua equipe a usar os fluxos de trabalho bem desenhados e que já foram testados. Para saber mais, confira Reutilizar fluxos de trabalho.

Para fornecer um ponto de partida para os desenvolvedores que desenvolvem novos fluxos de trabalho, você pode usar os modelos de fluxo de trabalho. Isso não só poupa tempo para seus desenvolvedores, mas promove a consistência e as práticas práticas recomendadas na sua empresa. Para saber mais, confira Criar modelos de fluxo de trabalho para sua organização.

Gerenciando recursos

Você deve planejar como você gerenciará os recursos necessários para usar o GitHub Actions.

Executores

Os fluxos de trabalho de GitHub Actions} exigem executores. Você pode escolher usar executores hospedados em GitHub ou executores auto-hospedados. O GitHub gerencia a manutenção e os upgrades de executores hospedados no GitHub. Para saber mais, confira Executores hospedados no GitHub.

Para gerenciar seus recursos, sua configuração ou a localização geográfica de seus computadores executores, use executores auto-hospedados. Para saber mais, confira Executores auto-hospedados.

Se quiser mais controle sobre as políticas de rede para seus executores, use executores auto-hospedados ou opções de rede privada para executores hospedados pelo GitHub. Para mais informações sobre opções de rede privada, consulte Rede privada com executores hospedados pelo GitHub.

Se você estiver usando executores auto-hospedados, você deverá decidir se você quer usar máquinas físicas, máquinas virtuais ou contêineres. As máquinas físicas reterão vestígios de trabalhos anteriores assim como as máquinas virtuais, a menos que você use uma nova imagem para cada trabalho ou limpe as máquinas após a execução de cada trabalho. Se você escolher contêineres, você deverá estar ciente de que a atualização automática do executor irá desligar o container, o que pode gerar falha nos fluxos de trabalho. Você deve encontrar uma solução para isso, impedindo atualizações automáticas ou ignorando o comando para matar o contêiner.

Você também deverá decidir onde adicionar cada executor. Você pode adicionar um executor auto-hospedado a um repositório individual, ou você pode disponibilizar o executor para toda uma organização ou empresa. Adicionar runners aos níveis da organização ou empresa permite compartilhar executores, o que pode reduzir o tamanho da infraestrutura de executores. Você pode usar políticas para limitar o acesso a executores auto-hospedados a nível da organização e da empresa atribuindo grupos de executores a repositórios ou organizações específicas. Para saber mais, confira Adicionar executores auto-hospedados e Gerenciar o acesso a runners auto-hospedados usando grupos. Você também pode usar políticas para impedir que as pessoas usem executores auto-hospedados no nível do repositório. Para saber mais, confira Impor políticas para GitHub Actions em sua empresa.

Você deve considerar usar o dimensionamento automático para aumentar ou diminuir automaticamente o número de executores auto-hospedados disponíveis. Para saber mais, confira Referência de executores auto-hospedados.

Finalmente, você deve considerar o fortalecimento da segurança para os executores auto-hospedados. Para saber mais, confira Referência de uso seguro.

Armazenamento

Os artefatos permitem compartilhar dados entre tarefas em um fluxo de trabalho e armazenar dados assim que o fluxo de trabalho tiver sido concluído. Para obter mais informações, consulte Armazenar e compartilhar dados com artefatos de fluxo de trabalho.

O GitHub Actions também tem um sistema de cache que você pode usar para armazenar dependências em cache a fim de acelerar as execuções de fluxo de trabalho. Para saber mais, confira Referência do cache de dependência.

Você pode usar as configurações de política para GitHub Actions para personalizar o armazenamento de artefatos de fluxo de trabalho, caches e retenção de log. Para saber mais, confira Impor políticas para GitHub Actions em sua empresa.

Uma quantidade de armazenamento está incluída na sua assinatura, mas o armazenamento adicional afetará sua fatura. Você deveria preparar-se para este custo. Para saber mais, confira Cobrança do GitHub Actions.

Controlar o uso

Você deve considerar fazer um plano para monitorar o uso de GitHub Actions da sua empresa como, por exemplo, a frequência com que os fluxos de trabalho estão sendo executados, quantas dessas execuções estão passando e falhando, e quais repositórios estão usando quais fluxos de trabalho.

Você poderá ver detalhes básicos do uso do armazenamento e da transferência de dados do GitHub Actions para cada organização na sua empresa por meio das configurações de cobrança. Para saber mais, confira Como exibir o uso de licenças e produtos mensuráveis.

Observação

Métricas de nível empresarial do GitHub Actions estão em versão prévia pública e sujeitas a alterações.

Você pode exibir dados de uso e desempenho para sua empresa na guia "Insights". Essas métricas fornecem os mesmos dados do GitHub Actions disponíveis nos níveis de repositório e organização, mas agregados para toda a empresa. Se você precisar de informações mais detalhadas, consulte Exibir métricas do GitHub Actions para sua organização ou Exibir métricas do GitHub Actions para seu repositório.

Para dados de uso detalhados por trabalho ou por fluxo de trabalho, você pode usar webhooks para assinar informações sobre trabalhos de fluxo de trabalho e execuções de fluxo de trabalho. Para saber mais, confira Sobre webhooks.

Faça um plano de como sua empresa pode passar as informações desses webhooks para um sistema de arquivamento de dados e planejar como você permitirá que suas equipes obtenham os dados necessários do seu sistema de arquivamento.