Esse é um exemplo de um pequeno blog, onde você cria um novo post a partir de um Pull Request mergeado na branch main. E é onde o Github Actions entra em ação. Actions é uma ferramenta de automação de fluxo de trabalho e tem uma variedade de usos diferentes. Você pode enviar um SMS, realizar testes de integração, executar cobertura de código e muito mais. Exemplo de uso de uma GitHub Actions utilizado para postar no blog escrito em Node.js.
Links
- GitHub Node.js: https://github.com/nodejs/node/tree/main/.github/workflows
- Demonstração: https://github.com/leandroh/node-blog-flow/blob/main/.github/workflows/blog-post.yml
2. Agenda
● O que é o GitHub Actions?
● Anatomia de uma GitHub Actions
● Um exemplo de fluxo de trabalho
● E onde entra o Node.js?
● "Talk is cheap. Show me the code" ― Linus Torvalds
Tópicos de hoje
5. O que é o GitHub Actions?
O GitHub Actions é um serviço de automação de fluxo
de trabalho oferecido pelo GitHub, que permite
automatizar tarefas repetitivas e complexas dentro do
ciclo de vida do desenvolvimento de software.
Automatize, personalize e execute seus fluxos de trabalho
7. Anatomia de uma GitHub Actions
● Eventos: São acionados através de pushs, pull requests, issues,
entre outros;
● Jobs: Com uma ou mais tarefas específicas (steps) a serem
executadas;
● Steps: São as ações como compilação de código, testes
automatizados e implantação;
● Actions: Podem ser usados em diferentes fluxos de trabalho. As
actions podem ser criadas pela comunidade ou criadas internamente
pela equipe de desenvolvimento;
● Runners: São as máquinas virtuais ou contêineres que executam as
tarefas do fluxo de trabalho;
● Workflows: São as definições do fluxo de trabalho, que especificam
os eventos, jobs, steps e actions a serem executados. Os workflows
são definidos em arquivos YAML e ficam armazenados no repositório
do projeto (.github/workflows).
Os principais componentes de uma GitHub Actions:
10. Nosso workflow
● Diretório .github/workflows no repositório
● Criar um arquivo chamado github-actions-demo.yml
● Adicione um conteúdo YAML em github-actions-demo.yml