Skip to main content

Apresentando o 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 obter mais informações, confira "Sobre o 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 obter mais informações, confira "Gerenciando as configurações do GitHub Actions para um repositório", "Desabilitar ou limitar o GitHub Actions para sua organização" e "Aplicando políticas para o GitHub Actions na sua empresa".

Considere combinar o OIDC (OpenID Connect) com fluxos de trabalho reutilizáveis para impor implantações consistentes no repositório, na organização ou na 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 obter mais informações, 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 obter mais informações, confira "Como exportar a atividade do log de auditoria da sua empresa" e "Como transmitir o log de auditoria para sua empresa".

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, confira "Fortalecimento de segurança para o 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, confira "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, 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 obter mais informações, confira "Usando ambientes para implantação".

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, confira "Fortalecimento de segurança para o GitHub Actions".

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, 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 obter mais informações, 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 obter mais informações, confira "Reutilizar fluxos de trabalho".

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, confira "Criando fluxos de trabalho iniciais para sua organização".

Sempre que os desenvolvedores de fluxo de trabalho quem usar uma ação armazenada em um repositório privado, primeiro eles precisam configurar o fluxo de trabalho para clonar o repositório. Para reduzir o número de repositórios que devem ser clonados, considere agrupar ações comumente usadas em um único repositório. Para obter mais informações, confira "Sobre ações personalizadas".

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. Os executores hospedados em GitHub são convenientes porque são gerenciados por GitHub, que administram a manutenção e atualizações para você. No entanto você deverá considerar os executores auto-hospedados se você precisar executar um fluxo de trabalho que terá acesso aos recursos por trás de seu firewall ou você quiser ter mais controle sobre os recursos, configuração, ou localização geográfica das máquinas dos seus executores. Para obter mais informações, confira "Using GitHub-hosted runners" e "Sobre executores auto-hospedados".

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 obter mais informações, 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 obter mais informações, confira "Aplicando políticas para o GitHub Actions na sua empresa".

Você deve considerar o uso do dimensionamento automático para aumentar ou diminuir automaticamente o número de executores auto-hospedados disponíveis. Para obter mais informações, confira "Redimensionamento automático com executores auto-hospedados".

Finalmente, você deve considerar o fortalecimento da segurança para os executores auto-hospedados. Para obter mais informações, confira "Fortalecimento de segurança para o 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, confira "Armazenar dados do fluxo de trabalho como artefatos".

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 obter mais informações, confira "Memorizar dependências para acelerar os fluxos de trabalho".

Você pode usar as configurações de política para GitHub Actions para personalizar o armazenamento de artefatos de fluxo de trabalho, os caches, e a retenção de log. Para obter mais informações, confira "Aplicando políticas para o GitHub Actions na 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 obter mais informações, confira "Sobre a cobrança das 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 obter mais informações, confira "Exibindo o uso de GitHub Actions".

Para dados de uso mais detalhados, você 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, 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. 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, confira 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.