Executando verificação de segurança...
2

Como funciona o fluxo de trabalho CI/CD com github / github actions

Olá, tenho a seguinte duvida, como funciona o fluxo de trabalho usando o github actions,minha duvida está mais relacionada na interação que se inicia na criação de uma branch para a nova funcionalidade/correção até o deploy, minha seguintes duvidas.

Quando faço um alteração tenho que criar testes, estes são rodados no github actions, quando faço uma pull request na main e a mesma é feita o merge o teste são rodados de novo ? E caso algum erro ocorra o deploy é cancelado ?

Tem como cancelar o commit caso os testes falhem ? Ou o fluxo é enviar as alterações o github roda os testes, você ve se houve erro nos testes, caso afirmativo inpeciona para ver o que aconteceu, corrige faz o commit repete o fluxo, então ai asim faz pull request ?

Já fiz um deploy na aws em uma aplicação laravel usando o github actions e o pipeline da aws, mas ainda tenho duvida neste fluxo envolvendo os testes, se alguem pude recomendar material fico grato ou se puder explicar agradeço grandemente.

Carregando publicação patrocinada...
2

Fala, Danilo!

Então, o ideal é que "pushes" direto para a branch principal sejam proíbidos e que commits nela tenham vindo de algum merge e, as outras branches para mesclagem devem ser testadas previamente para evitar problemas na hora do deploy.

No seu caso, basta criar um workflow para quando ocorrer um push na branch principal, tenha como um job a execução dos testes e, outro job para o deploy que só seja executado caso nenhum job anterior falhe (é o comportamento padrão).


Tem como cancelar o commit caso os testes falhem ?

Não, não há como "cancelar" um commit, há apenas formas de reverte-lô e exclui-lô forçando um push (o que não é muito recomendado).

[...] corrige faz o commit repete o fluxo, então ai asim faz pull request ?

Sim. Ao invés de criar outro Pull Request, você pode criar um workflow especialmente para elas em que rode os testes, dessa forma você não precisa mesclar para ver o resultado dos testes. E a cada novo commit na PR, os testes serão rodados novamente.

1