Por que usar containers com o Actions?

O uso de containers no GitHub Actions traz diversos benefícios, especialmente quando precisamos garantir um ambiente controlado e isolado para nossos workflows.

Evita problemas como:

Como usar jobs no container

Basta adicionar a palavra chave “container:” e uma imagem existente no https://hub.docker.com/search?q=node.

jobs:  
	test:    
		environment: testing    
		runs-on: ubuntu-latest    
		container: 
			image: node:16

Services

Em muitos testes automatizados, especialmente quando lidamos com bancos de dados, não devemos usar o banco de produção para evitar alterar informações reais por acidente. A solução é utilizar um banco de testes.

No entanto, manter um banco de testes sempre online pode gerar custos desnecessários, principalmente se ele for usado apenas esporadicamente. Para resolver isso, podemos usar um container de serviço no GitHub Actions. Esse container é criado dentro do runner durante a execução do workflow e é automaticamente desligado ao final do processo.

Ou seja, services permitem rodar serviços auxiliares temporários (como bancos de dados, serviços de mensagem, cache, etc.) side-by-side com seus jobs, garantindo que os testes tenham o ambiente necessário sem a necessidade de infraestrutura permanente.

Vantagens: