Sobrecarregar seus fluxos de trabalho com ações locais do GitHub
Se você trabalhou com ações do GitHub antes, provavelmente puxou um monte de degraus prontos do mercado. Isso é incrível para necessidades comuns, como configurar nó, dependências de cache ou implantar para fornecedores de nuvem. Mas e as etapas repetitivas e específicas do projeto que não valem a pena publicar para o mundo inteiro? É aí que as ações locais do Github brilham. O que são ações locais? Uma ação local é uma ação personalizada do Github que vive dentro de seu próprio repositório. Ao contrário das ações do mercado, eles não são compartilhados publicamente – apenas ajudantes personalizados, seus fluxos de trabalho podem usar repetidamente. Eles vivem sob o .github/ ações/ diretório especial em seu repositório: .github/ ações/ bootstrap-node/ readme.md (opcional) action.yml Digite o modo de saída de tela cheia da tela completa daqui, você pode chamá-los em qualquer fluxo de trabalho como se tivessem sido publicados ações. Demação: ambiente de bootstrap Node, digamos vários fluxos de trabalho em seu projeto precisam da mesma configuração básica: em vez de repetir esse bloco em todos os lugares (e garantir que todos usam o nó v20 e o cache npm corretamente), você cria uma ação local:. Entradas: InstallDeps: Descrição: ‘Se deve instalar as dependências da NPM’ necessárias: false padrão: ‘true’ é executado: usando: ‘compósito’ etapas: – Nome: Setup Node.js usa: Ações/Setup -Node@V4 com: {Node -inputs: 20 cache: ‘npm’ – Nome: Instale Dependências se: $ {{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{ NPM CI Digite o uso do modo de tela cheia em uma tela cheia em um fluxo de trabalho Trabalhos: Construir: Runs-On: Ubuntu-Latest Etapas:-Usa: Ações/checkout@v4-usa: ./.github/actions/bootstrap-node com: InstallDeps: True Full Sreen Mode FullScreen Now Every Workflow que precisa de um ambiente Node a Node a Node Node Node Nó Node Nó Node Node a Node Node Node a Node Node Nó Node: Casos de uso emocionantes para ações locais do GitHub são ótimas para tarefas específicas do projeto que você duplicaria em vários fluxos de trabalho. Alguns exemplos: filtragem de dependência monorepo – execute apenas trabalhos para aplicativos/libs que realmente mudaram. Verificações de segurança reutilizáveis - Centralize auditorias (npm, fios, curiosidades) em uma ação. Geração de Changelog automatizada-Gerada automática e atualize Changelog.md de Commits. Notificações do Slack/Teams – Envie alertas de construção/implantação de marca consistentes. Ambientes de visualização personalizada – Ambientes efêmeros de rotação (por exemplo, vercel/netlify/contêineres) para cada pr. Portões de qualidade padronizados de código-revestimento de pacote, formatação e verificação de tipo em uma ação para consistência nos fluxos de trabalho. Aqui está uma pequena (por enquanto)-ação-toolbox, que tem algumas demos. Por que usar ações locais? ✅ Dry (não se repita): não há mais etapas de cópia. As ações locais do Github, encerradas, são um pequeno investimento que pode valer a pena. Eles ajudam a manter os fluxos de trabalho limpos, reduzem a deriva de pasta de cópia e transformam etapas repetitivas em blocos de construção simples e reutilizáveis. Portanto, da próxima vez que você encontrar os mesmos passos repetidos em vários fluxos de trabalho, pense em envolvê -los em uma ação local. É um daqueles movimentos que seu futuro eu – e seus colegas de equipe – definitivamente apreciarão.
Fonte