Skip to main content

Apresentando GitHub Actions à sua empresa

Você pode planejar como implantar GitHub Actions em 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 Actionsisso, sua empresa pode automatizar, personalizar e executar seus fluxos de trabalho de desenvolvimento de software, como testes e implantações. Para saber mais, confira [AUTOTITLE](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/about-github-actions-for-enterprises).

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 dar melhor suporte às suas necessidades exclusivas.

Governança e conformidade

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

Determine quais ações e fluxos de trabalho reutilizáveis seus desenvolvedores poderão usar. primeiro, decida se você permitirá ações de terceiros e fluxos de trabalho reutilizáveis que não foram criados por GitHub. Você pode configurar as ações e fluxos de trabalho reutilizáveis que têm permissão para execução nos níveis de repositório, organização e empresa e pode optar por permitir apenas ações criadas por GitHub. Se você permitir ações de terceiros e fluxos de trabalho reutilizáveis, poderá limitar as ações permitidas às criadas por criadores verificados ou uma lista de ações específicas 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 atividade relacionada a GitHub Actions nos logs de auditoria para a sua empresa. Se sua empresa precisar reter essas informações por mais tempo do que os dados de log de auditoria forem retidos, planeje como você exportará e armazenará esses dados fora.GitHub Para obter mais informações, consulte 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 do privilégio mínimo administrando funções personalizadas de organização para o acesso às configurações do seu pipeline de CI/CD. Para obter mais informações sobre funções de organização personalizadas, consulte [AUTOTITLE](/organizations/managing-peoples-access-to-your-organization-with-roles/about-custom-organization-roles).

Segurança

Você deve planejar a sua abordagem de proteção de segurança para GitHub Actions.

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

Faça um plano para impor boas práticas de segurança para pessoas que usam GitHub Actions recursos em 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. É recomendável armazenar segredos em GitHub. Mas você pode optar por armazená-los em um provedor de nuvem.

Em GitHub, você pode armazenar segredos no repositório ou no nível 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 de repositórios de terceiros em 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?](https://learn.microsoft.com/en-us/azure/virtual-network/virtual-networks-overview), na documentação do Azure. Para obter mais informações, consulte [AUTOTITLE](/admin/configuration/configuring-private-networking-for-hosted-compute-products/about-azure-private-networking-for-github-hosted-runners-in-your-enterprise).

Innersourcing

Pense em como sua empresa pode usar os recursos de GitHub Actions para implementar a produção interna na automação. 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, consulte Uma introdução ao innersource em GitHub Recursos.

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 gerenciará os recursos necessários para usar GitHub Actions.

Executores

          GitHub Actions fluxos de trabalho exigem corredores. Você pode optar por usar GitHubexecutores hospedados ou executores auto-hospedados.               GitHub gerencia a manutenção e as atualizações para GitHub executores hospedados. Para saber mais, confira [AUTOTITLE](/actions/using-github-hosted-runners/about-github-hosted-runners).

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 você quiser mais controle sobre as políticas de rede para os seus executores, use executores auto-hospedados ou opções de rede privada para GitHub-executores hospedados. Para obter mais informações sobre opções de rede privada, consulte Rede privada com executores hospedados pelo GitHub.

          Se você estiver usando executores auto-hospedados, precisará decidir se deseja usar máquinas físicas, máquinas virtuais ou contêineres. As máquinas físicas vão reter remanescentes 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 cada trabalho executado. 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 executores 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 [AUTOTITLE](/actions/using-workflows/storing-workflow-data-as-artifacts).

          GitHub Actions também tem um sistema de cache que você pode usar para guardar em cache dependências para acelerar a execução dos fluxos de trabalho. Para saber mais, confira [AUTOTITLE](/actions/using-workflows/caching-dependencies-to-speed-up-workflows).

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

Há um pouco de armazenamento incluído na sua assinatura, mas um armazenamento adicional afetará o seu pagamento. 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 acompanhar o uso de GitHub Actions pela sua empresa, como a frequência com que os fluxos de trabalho são executados, quantas dessas execuções são bem-sucedidas ou falham, e quais repositórios utilizam quais fluxos de trabalho.

Você pode ver detalhes básicos sobre o armazenamento e o uso de transferência de dados de GitHub Actions para cada organização em sua empresa através das suas configurações de cobrança. Para saber mais, confira Como exibir o uso de licenças e produtos mensuráveis.

Observação

A métrica de nível empresarial para GitHub Actions está em versão prévia pública e sujeita a alterações.

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

Para obter dados de uso mais detalhados em um nível 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.