{"id":20225235,"url":"https://github.com/lubrum/github-actions-with-go","last_synced_at":"2026-04-10T11:31:46.051Z","repository":{"id":64082757,"uuid":"571221533","full_name":"Lubrum/github-actions-with-go","owner":"Lubrum","description":"Integração Contínua e Entrega Contínua com Go, AWS EC2, AWS ECS, AWS Fargate, Docker, Github Actions","archived":false,"fork":false,"pushed_at":"2025-04-27T19:56:22.000Z","size":15267,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-27T20:20:15.516Z","etag":null,"topics":["automated-testing","aws","aws-ec2","aws-ecs","aws-ecs-fargate","aws-rds","aws-rds-postgres","bash","ci","ci-cd","continuous-delivery","devops","docker","docker-compose","github-actions","go","golang","pipeline","unit-testing"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Lubrum.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-11-27T14:58:34.000Z","updated_at":"2025-04-27T19:56:26.000Z","dependencies_parsed_at":"2024-09-07T20:38:14.217Z","dependency_job_id":"ac3cf6b3-2be2-4f86-af2e-f60e52511936","html_url":"https://github.com/Lubrum/github-actions-with-go","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Lubrum/github-actions-with-go","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lubrum%2Fgithub-actions-with-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lubrum%2Fgithub-actions-with-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lubrum%2Fgithub-actions-with-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lubrum%2Fgithub-actions-with-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Lubrum","download_url":"https://codeload.github.com/Lubrum/github-actions-with-go/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Lubrum%2Fgithub-actions-with-go/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31641114,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-10T07:40:12.752Z","status":"ssl_error","status_checked_at":"2026-04-10T07:40:11.664Z","response_time":98,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automated-testing","aws","aws-ec2","aws-ecs","aws-ecs-fargate","aws-rds","aws-rds-postgres","bash","ci","ci-cd","continuous-delivery","devops","docker","docker-compose","github-actions","go","golang","pipeline","unit-testing"],"created_at":"2024-11-14T07:11:49.086Z","updated_at":"2026-04-10T11:31:46.020Z","avatar_url":"https://github.com/Lubrum.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Escola DevOps - Trilha DevOps\n\n### ~~3. Aprender sobre integração e entrega contínua~~\n\n### ~~3.1. Integração contínua: testes automatizados e pipeline no Github Actions~~\n\n### ~~3.2. Integração contínua: Pipeline Docker no Github Actions~~\n\n\n## Escola DevOps - Trilha/formação [Integração Contínua e Entrega Contínua](https://cursos.alura.com.br/formacao-integracao-continua-entrega-continua)\n\n### ~~1. Criando uma rotina de CI~~\n\n### ~~1.1. Integração contínua: testes automatizados e pipeline no Github Actions~~\n\n### ~~1.2. Integração contínua: Pipeline Docker no Github Actions~~\n\n\n### 2. ~~Começando com entrega contínua~~\n\n### 2.1 ~~Integração Contínua: Pipeline de entrega e implementação contínua na EC2~~\n\n### 2.2 ~~Integração Contínua: Automatize o deploy no Amazon ECS~~\n\n\n### 3. Garantindo a aplicação e Kubernetes\n\n### 3.1 Integração Contínua: rollback e teste de carga\n\n### 3.2 Integração Contínua: automatizando a entrega no Kubernetes\n\n# Requisitos para execução local:\n\n- docker;\n- docker compose;\n\n### Comando para atualização de dependências (em ambiente local isso requer go instalado na máquina)\n\n```bash\ngo get -u\n```\n\n### Para executar a aplicação junto com banco de dados, execute o código abaixo:\n\n```bash\ndocker compose up -d\n```\n\n### para rodar e executar os testes, suba o banco de dados com o docker compose, e rode o main_test.go localmente\n\n```bash\ndocker compose up -d\nHOST=localhost USER=root PASSWORD=root DBNAME=root DBPORT=5432 go test -v main_test.go\n```\n\nPara testar se tudo funcionou, abra no navegador o link http://localhost:8085/index ou teste a API GET http://localhost:8085/MEU_NOME\n\n## Passos na criação do cluster ECS (2.2):\n\n1- criação de cluster no Amazon ECS;\n\n2- criação de 'task definition' no Amazon ECS;\n\n3- criação de serviço através da task ou do cluster no Amazon ECS (faz ligação entre a task e o cluster);\n\n4- para criar CI/CD no github para o ECS, pode requerer criar usuário IAM caso exista apenas user root na conta;\n\n4.1- caso falhe criação do serviço no ECS, verificar se foi atribuído o grupo de segurança da API e não do banco em RDS, e se a permissão do grupo de segurança não tem restrições na porta da aplicação. \n\nEu erroneamente restringi acessos na porta da aplicação para apenas meu IP, só que agora a aplicação estaria containerizada e por trás de um balanceador de carga que precisa ter permissão para acessar a API.\n\nTambém verificar se a imagem Docker está ok, ou seja, se está executando sem erros.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flubrum%2Fgithub-actions-with-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flubrum%2Fgithub-actions-with-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flubrum%2Fgithub-actions-with-go/lists"}