77/100 Dias de Golang - Mini Servidor de CI/CD – Parte 1 - Visão Geral do Projeto
Table of Contents
#
Mini Servidor de CI/CD – Parte 1: Visão Geral do Projeto
Vamos construir nosso mini servidor de CI/CD com Golang! Nesta “série” de quatro artigos, vamos desenvolver um mini servidor de CI/CD utilizando Golang. Nosso objetivo é criar um sistema simples, porém funcional, que permita: Cadastrar pipelines via API. Listar todos os pipelines existentes. Executar pipelines sob demanda.Persistir informações de execução em banco de dados. Validar a aplicação com testes.
Parte 1 – Visão Geral do Projeto (este artigo) Parte 2 – Modelagem e Banco de Dados Parte 3 – API em Go Parte 4 – Testes Parte 5 - Melhorias
Vamos iniciar nosso projeto:
go mod init cicd-server
E vamos criar um webserver bem básico usando gin
com uma rota de teste. Esse arquivo vai ficar dentro da pasta cmd/server
.
package main
import (
"github.com/gin-gonic/gin"
"log"
)
func main() {
router := gin.Default()
router.GET("/status", func(c *gin.Context) {
c.JSON(200, gin.H{"status": "ok"})
})
log.Println("Servidor CI/CD rodando na porta 8080...")
err := router.Run(":8080")
if err != nil {
log.Fatalf("Erro ao iniciar servidor: %v", err)
}
}
Para rodar a aplicação:
go run cmd/server/main.go
Para testar a rota de status, podemos usar o cURL ou acessar via navegador.
curl http://localhost:8080/status