Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yahialm/gitlab-ci-helm-k3s
Go-Hub, is a CI/CD-integrated platform built to streamline application deployment on Kubernetes. It leverages GitLab for source control, Docker for containerization, and Helm charts for Kubernetes packaging and deployment. Key stages in the CI/CD pipeline include building Docker images, packaging Helm charts, and deploying to K3s.
https://github.com/yahialm/gitlab-ci-helm-k3s
docker gitlab golang helm k3s
Last synced: 10 days ago
JSON representation
Go-Hub, is a CI/CD-integrated platform built to streamline application deployment on Kubernetes. It leverages GitLab for source control, Docker for containerization, and Helm charts for Kubernetes packaging and deployment. Key stages in the CI/CD pipeline include building Docker images, packaging Helm charts, and deploying to K3s.
- Host: GitHub
- URL: https://github.com/yahialm/gitlab-ci-helm-k3s
- Owner: yahialm
- Created: 2024-10-28T15:22:47.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2024-10-28T20:06:20.000Z (about 2 months ago)
- Last Synced: 2024-10-28T20:41:47.677Z (about 2 months ago)
- Topics: docker, gitlab, golang, helm, k3s
- Language: Go
- Homepage:
- Size: 126 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Go-Hub
CI/CD pipeline to simplify the process of building, packaging, and deploying applications on Kubernetes. By leveraging GitLab for version control and CI/CD pipelines, Docker for containerization, and Helm for Kubernetes deployment, Go-Hub enables automated and efficient application deployment.
## Table of Contents
- [Project Overview](#project-overview)
- [Features](#features)
- [CI/CD Pipeline](#cicd-pipeline)
- [Setup and Usage](#setup-and-usage)
- [Contributing](#contributing)
- [License](#license)## Project Overview
This CI/CD pipeline facilitates the deployment of applications on Kubernetes with GitLab CI/CD integration. With automated pipelines for building Docker images, packaging Helm charts, and deploying to Kubernetes clusters, this project aims to reduce manual intervention and accelerate application releases.
## Features
- **CI/CD Pipeline**: Automated workflows for building, packaging, and deploying applications.
- **Docker Integration**: Docker is used to containerize applications, making them portable and easy to manage.
- **Helm Chart Packaging**: Helm is used to package Kubernetes resources, enabling seamless deployment and versioning.
- **Kubernetes Deployment**: Applications are deployed to Kubernetes clusters using Helm charts, simplifying complex configurations and scaling.## CI/CD Pipeline
The GitLab CI/CD pipeline is structured in three main stages:
1. **Build**: Creates a Docker image of the application and pushes it to the GitLab Container Registry.
2. **Helm Package**: Packages the application using Helm, updating the Docker image tag in `values.yaml`.
3. **Deploy**: Deploys the Helm chart to a Kubernetes cluster.## Setup and Usage
### Prerequisites
- Docker
- GitLab CI/CD configured with a Kubernetes cluster
- Helm### Installation
1. Clone this repository.
2. Configure GitLab CI/CD variables:
- `CI_REGISTRY_USER` and `CI_REGISTRY_PASSWORD` for Docker registry authentication.
3. Customize `values.yaml` for your deployment requirements.### Running the Pipeline
Commit and push changes to GitLab to trigger the CI/CD pipeline. The pipeline will automatically build, package, and deploy the application.
## Contributing
Contributions are welcome! Please open an issue or submit a pull request.
## License
This project is licensed under the MIT License.