O GitHub Actions tornou-se um ponto de partida padrão para muitas equipes que precisam colocar CI/CD em funcionamento rapidamente em um ambiente totalmente novo. Entre outras coisas, ele pode lidar com fluxos de trabalho mais complexos e chamar outras ações dentro de ações compostas. Embora o ecossistema no GitHub Marketplace continue a crescer, ainda recomendamos cautela ao fornecer acesso no seu pipeline de desenvolvimento a GitHub Actions de terceiros. Recomendamos seguir os conselhos do GitHub acerca do reforço de segurança, para evitar o compartilhamento de dados secretos de maneira insegura. No entanto, a conveniência de criar seu fluxo de trabalho de compilação diretamente no GitHub ao lado de seu código-fonte, combinado com a capacidade de executar GitHub Actions localmente, usando ferramentas de código aberto como act, é uma opção atraente que simplificou a configuração e a integração de nossas equipes.
O GitHub Actions cresceu consideravelmente no ano passado, provando que pode assumir fluxos de trabalho mais complexos e chamar outras ações em ações compostas, entre outras coisas. A plataforma ainda tem algumas deficiências, como a incapacidade de reativar uma única atividade em um fluxo de trabalho. Embora o ecossistema no GitHub Marketplace tenha suas óbvias vantagens, dar a ações do GitHub de terceiros acesso ao seu pipeline de compilação gera o risco do compartilhamento de segredos de maneiras inseguras (recomendamos seguir as recomendações do GitHub para fortalecimento de segurança). No entanto, a conveniência de criar seu fluxo de trabalho de compilação diretamente no GitHub ao lado do código-fonte, combinada à capacidade de executar ações do GitHub localmente usando ferramentas de código aberto como act, torna-se uma opção atraente que facilitou a configuração e o processo de onboarding em nossos times.
Apesar de nossa recomendação de cautela na última vez em que o mencionamos, temos visto um entusiasmo contínuo com o GitHub Actions. O que dissemos antes ainda é válido: o GitHub Actions ainda não substitui completamente CI/CD para fluxos de trabalho complexos. O orquestrador não pode, por exemplo, disparar novamente uma única tarefa de um fluxo de trabalho, chamar outras ações dentro de uma ação composta ou oferecer suporte a uma biblioteca compartilhada. Além disso, embora o ecossistema no GitHub Marketplace ofereça vantagens óbvias, dar a ações do GitHub de terceiros acesso ao seu pipeline de compilação gera o risco do compartilhamento de segredos de maneiras inseguras (recomendamos seguir as recomendações do GitHub sobre fortalecimento de segurança. Apesar dessas preocupações, a conveniência de criar seu fluxo de trabalho de compilação diretamente no GitHub ao lado do seu código-fonte é uma opção atraente para alguns times, e act ajuda a executar ações do GitHub localmente. Como sempre, recomendamos uma avaliação clara das vantagens e desvantagens envolvidas, mas alguns de nossos times estão satisfeitos com a simplicidade do GitHub Actions.
Ferramentas de compilação e servidores de CI estão entre as mais antigas e usadas em nosso conjunto de ferramentas. Elas vão desde simples serviços hospedados em nuvem até servidores de pipeline complexos e definidos por código que oferecem suporte a frotas de máquinas de compilação. Dada a nossa experiência e a ampla gama de opções já disponíveis, adotamos inicialmente uma postura de ceticismo quando o GitHub Actions foi introduzido como mais um mecanismo para gerenciar o fluxo de compilação e integração. Mas a possibilidade de começar com um comportamento pequeno e facilmente personalizado para as pessoas desenvolvedoras significa que o GitHub Actions está se movendo em direção à categoria padrão de projetos menores. É difícil argumentar contra a conveniência de ter a ferramenta de compilação integrada diretamente no repositório do código-fonte. Uma comunidade entusiasmada surgiu em torno desse recurso e isso significa que uma ampla gama de ferramentas e fluxos de trabalho criados com a contribuição de pessoas usuárias está disponível. Fornecedores de ferramentas também têm demonstrado interesse via GitHub Marketplace. No entanto, ainda recomendamos que você proceda com cautela. Embora o código e o histórico do Git possam ser exportados para hosts alternativos, um fluxo de trabalho de desenvolvimento baseado no GitHub Actions não pode. Além disso, você deve usar seu bom senso para determinar quando um projeto é grande ou complexo o suficiente para justificar uma ferramenta de pipeline com suporte independente. Mas para começar a trabalhar rapidamente em projetos menores, vale a pena considerar o GitHub Actions e seu ecossistema em crescimento.