Sobre GitHub Actions para empresas
GitHub Actions is a continuous integration and continuous delivery (CI/CD) platform that allows you to automate your build, test, and deployment pipeline. com GitHub Actions, sua empresa pode automatizar, personalizar e executar seus fluxos de trabalho de desenvolvimento de software como testes e implantações. Para obter mais informações, consulte a seção "Sobre o GitHub Actions para empresas ".
GitHub Actions is available in GitHub Enterprise Server 3.0 or higher. If you're using an earlier version of GitHub Enterprise Server, you'll have to upgrade to use GitHub Actions. Para obter mais informações sobre a atualização da instância de GitHub Enterprise Server, consulte "Sobre as atualizações para novas versões de."
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 seus desenvolvedores terão permissão para usar. Primeiro, decida se você irá permitir o acesso a ações 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 o uso de ações na sua empresa".
Em seguida, decida se você permitirá ações de terceiros que não foram criadas por GitHub. Você pode configurar as ações que podem ser executadas nos níveis do repositório, organização e empresa e você pode optar por permitir apenas ações que são criadas por GitHub. Se você permitir ações de terceiros, você poderá limitar as ações permitidas para aquelas criadas por criadores verificados ou uma lista de ações específicas. Para obter mais informações, consulte "Gerenciando configurações de GitHub Actions para um repositório", "Desabilitando ou limitando GitHub Actions para a sua organização", e "Aplicando políticas para GitHub Actions na sua empresa."
Você pode acessar informações sobre atividades relacionadas ao GitHub Actions nos logs de auditoria da sua empresa. Se a sua empresa tiver de manter os logs de auditoria por mais de seis meses, planeje como você exportará e armazenará esses dados fora de GitHub. Para obter mais informações, consulte "Pesquisando o log de auditoria."
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 "Fortalecimento da segurança para GitHub Actions".
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 obter mais informações, consulte "Segredos criptografados".
Considerações de segurança para ações de terceiros
Há um risco significativo em fornecer de ações de repositórios de terceiros no GitHub. Se você permitir ações de terceiros, você deverá criar diretrizes internas que incentivama sua equipe a seguir as práticas recomendadas como, por exemplo, fixar ações para o SHA completo do commit. Para obter mais informações, consulte "Usando ações de terceiros".
Innersourcing
Pense em como sua empresa pode usar funcionalidades de GitHub Actions para gerar automação de recursos internos. Innersourcing é uma maneira de incorporar os benefícios das metodologias de código aberto no seu ciclo de desenvolvimento de software interno. Para obter mais informações, consulte Uma introdução ao innersource nos recursos deGitHub.
Para fornecer um ponto de partida para os desenvolvedores que desenvolvem novos fluxos de trabalho, você pode usar fluxos de trabalho iniciais. 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 obter mais informações, consulte "Criando fluxos de trabalho iniciais para a 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ê deverá hospedar seus próprios executores instalando o aplicativo de executor auto-hospedado em GitHub Actions nas suas próprias máquinas. Para obter mais informações, consulte "Sobre executores auto-hospedados."
Decida se você deseja usar máquinas físicas, máquinas virtuais ou contêineres para seus executores auto-hospedados. 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 obter mais informações, consulte "Adicionando executores auto-hospedados" e "Gerenciando acesso a executores auto-hospedados usando grupos".
Finalmente, você deve considerar o fortalecimento da segurança para os executores auto-hospedados. Para obter mais informações, consulte "Fortalecimento da segurança para GitHub Actions".
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 dados do fluxo de trabalho como artefatos".
Você deve configurar o armazenamento externo de blob para estes artefatos. Escolha qual provedor de armazenamento compatível a sua empresa irá usar. Para obter mais informações, consulte "Primeiros passos com GitHub Actions para GitHub Enterprise Server".
By default, GitHub Enterprise Server stores build logs and artifacts for 90 days, and this retention period can be customized. For more information, see "Usage limits, billing, and administration."
Se você quiser manter registros e artefatos maiores que o limite superior que você pode configurar em GitHub Enterprise Server, você terá que planejar como exportar e armazenar os dados.
Monitorando 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.
pode usar webhooks para assinar informações sobre trabalhos de fluxo de trabalho e execução de fluxo de trabalho. Para obter mais informações, consulte "Sobre webhooks".
Faça um plano de como sua empresa pode passar as informações desses webhooks para um sistema de arquivamento de dados. Você pode considerar usar "CEDAR.GitHub.Collector", uma ferramenta de código aberto que coleta e processa dados de webhook a partir de GitHub. Para obter mais informações, consulte o repositório Microsoft/CEDAR.GitHub.Collector
.
Você também deve planejar como permitir que suas equipes obtenham os dados de que precisam no seu sistema de arquivamento.