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 de trabalho reutilizáveis seus desenvolvedores poderão usar. Primeiro, decida se você habilitará o acesso a ações de trabalho reutilizáveis de fora de sua instância. Se os usuários da sua empresa precisam de acesso a outras ações a partir de GitHub.com ou GitHub Marketplace, há algumas opções de configuração. Para obter mais informações, consulte Sobre como usar ações na sua empresa.
Em seguida, primeiro,de terceiros e fluxos.GitHub Você pode configurar as ações 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 às criadas por criadores verificados ou uma lista de ações 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 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 transmitir o log de auditoria para sua empresa e Encaminhamento de logs.
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 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.
Innersourcing
Pense em como sua empresa pode usar os recursos de GitHub Actions para implementar innersourcing 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.
Requisitos de hardware
Talvez seja necessário atualizar os recursos de CPU e memória de sua instância do GitHub Enterprise Server para lidar com a carga de GitHub Actions sem causar perda de desempenho. Para saber mais, confira Introdução ao GitHub Actions do GitHub Enterprise Server.
Executores
GitHub Actions fluxos de trabalho exigem corredores. Você precisará hospedar seus próprios runners instalando o GitHub Actions aplicativo de runner auto-hospedado em suas próprias máquinas. Para obter mais informações, consulte [AUTOTITLE](/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners).
Decida se deseja usar máquinas físicas, máquinas virtuais ou contêineres para seus executores auto-hospedados. 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ê deve configurar o armazenamento de blobs externo para artefatos do fluxo de trabalho, caches e outros logs do fluxo de trabalho. Escolha qual provedor de armazenamento compatível a sua empresa irá usar. Para saber mais, confira Introdução ao GitHub Actions do GitHub Enterprise Server.
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.
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.
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.