https://github.com/leoviana00/lab-pipeline-workflow
Repositório para validação de algumas ferramentas para fluxo de integração contínua e deploy
https://github.com/leoviana00/lab-pipeline-workflow
docker gitea harbor helmfile ingress-nginx jenkins kind kubernetes makefile metallb sonaqube
Last synced: 8 months ago
JSON representation
Repositório para validação de algumas ferramentas para fluxo de integração contínua e deploy
- Host: GitHub
- URL: https://github.com/leoviana00/lab-pipeline-workflow
- Owner: leoviana00
- Created: 2025-02-13T21:12:49.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-02-22T00:48:53.000Z (8 months ago)
- Last Synced: 2025-02-22T01:27:49.890Z (8 months ago)
- Topics: docker, gitea, harbor, helmfile, ingress-nginx, jenkins, kind, kubernetes, makefile, metallb, sonaqube
- Language: Makefile
- Homepage:
- Size: 1.55 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
CI/CD - Kubernetes
![]()
![]()
Projeto |
Tecnologias |
Roadmap |
Referências
![]()
## Projeto
- Subir uma infraestrutura robusta 100% em Kubernetes, testando algumas tecnologias e a integração entre elas assim como também entender quais problemas resolvem.
## Tecnologias
- Kubernetes
- Kind
- Docker
- Jenkins
- Harbor
- Sonarqube
- Helm
- Gitea
- ArgoCD
- Kaniko## Roadmap
- [x] Criar um Setup completo de um ambiente de desenvolvimento com cluster Kubernetes local usando Kind
- [x] Realizar o deploy de todas as ferramentas usando Helm Charts
- [x] Automatizar o deploy de todos os Helm Charts usando Helmfile
- [x] Configuração de repositórios, chaves e service users no Gitea
- [x] Instalação de plugins como código no Jenkins
- [x] Integração entre Gitea e Jenkins usando multibranch pipelines via webhook
- [ ] Transpondo testes unitários, lint e segurança para a pipeline
- [ ] Migração e utilização de Shared Libraries no Jenkins para modularidade
- [ ] Scan de código estático com report no SonarQube e bloqueio com Quality Gate
- [ ] Build de imagens Docker usando Kaniko com push para registry interno no Harbor
- [ ] Versionamento de artefatos seguindo o Gitflow
- [ ] Scan de segurança de imagens Docker usando scan on push do Harbor
- [ ] Promoção de artefatos usando o Crane
- [ ] Testes de integração com deploy no próprio cluster
- [ ] Deploy utilizando o princípio de GitOps via ArgoCD
- [ ] Separação de Deploy em Dev, Staging e Produção via regras de branches
- [ ] Notificação da pipeline [Serviço de notificação a definir ainda]## Referências
- [Kubernetes Kind](https://kind.sigs.k8s.io/)
- [Metallb](https://metallb.io/)
- [Descubra como o MetalLB aprimora o balanceamento de carga em ambientes Kubernetes on-premises](https://blog.4linux.com.br/instalando-e-configurando-o-metallb-em-um-ambiente-on-premises/)
- [Ingress Nginx](https://github.com/kubernetes/ingress-nginx)
- [Helmfile](https://helmfile.readthedocs.io/en/latest/#installation)
- [Jenkins](https://www.jenkins.io/doc/)
- [Plugin Jenkins Multibranch Scan Webhook](https://plugins.jenkins.io/multibranch-scan-webhook-trigger/)
- [Plugin Jenkins KUbernetes](https://plugins.jenkins.io/kubernetes/)
- [Plugin Jenkins Discord Notifier](https://plugins.jenkins.io/discord-notifier/)
- [Plugin Jenkins Basic Branch Build Strategies](https://plugins.jenkins.io/basic-branch-build-strategies/)
- [Gitea](https://gitea.com/gitea/helm-chart)
- [Harbor](https://goharbor.io/docs/2.4.0/)
- [Unable to load local docker image in kind kubernetes cluster](https://stackoverflow.com/questions/73962956/unable-to-load-local-docker-image-in-kind-kubernetes-cluster)
- [Share a standard Pipeline across multiple projects with Shared Libraries](https://www.jenkins.io/blog/2017/10/02/pipeline-templates-with-shared-libraries/)
- [Extending with Shared Libraries](https://www.jenkins.io/doc/book/pipeline/shared-libraries/)
- [SonarScanner CLI](https://docs.sonarsource.com/sonarqube-server/10.8/analyzing-source-code/scanners/sonarscanner/)