Saltar para o conteúdo
Edson Francisco
  • Fiabilidade, DevOps e legado

GitHub Actions Template

Workflows de CI/CD reutilizáveis para PHP, Laravel, Go e sites estáticos, com deploy por SSH.

Período
2024
Estado
Arquivado
Papel
Autor

Problema

Cada novo projecto começava com um pipeline de CI copiado de outro e ajustado à pressa. Os passos de teste e de deploy variavam de repositório para repositório.

Solução

Cinco workflows prontos a copiar: PHP, PHP com testes e deploy por SSH para um servidor próprio, Laravel, Go e site estático para GitHub Pages.

Decisões técnicas

  1. 01

    Deploy só depois de os testes passarem

    No workflow PHP com testes, o passo de deploy por SSH depende do job de testes, por isso código partido não chega ao servidor.

  2. 02

    Permissões mínimas no deploy para Pages

    O workflow estático pede só pages: write e id-token: write e usa concurrency para não haver dois deploys ao mesmo tempo.

  3. 03

    Segredos só por referência

    Host, utilizador e chave SSH vêm de secrets do repositório; o template não tem nenhum valor escrito.

Imagens

Sem capturas publicáveis: o sistema precisa de dados reais para correr ou já não está online.

Tecnologias

  • GitHub Actions
  • PHP
  • Laravel

Resultados verificáveis

workflows reutilizáveis
5