Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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.

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.