GithubHelp home page GithubHelp logo

cicd-gke's Introduction

CI/CD with GitHub Actions: Deploying to GKE using Kustomize

Welcome to our repository! This project focuses on a robust CI/CD pipeline using GitHub Actions, deploying applications to Google Kubernetes Engine (GKE) with the aid of Kustomize for manifest customization.

Table of Contents

Workflow Trigger

Our workflow is initiated when a pull request is merged into specific branches: main, develop, and main. This ensures that the CI/CD process is initiated only when code changes are finalized and ready for deployment.

Environment Setup

Before diving into the CI/CD steps, we set up environment variables. These variables, some fetched from GitHub secrets, provide necessary context and credentials for the subsequent steps.

CI/CD Pipeline

  1. Checkout Code: The workflow starts by checking out the latest code from the repository.
  2. Authenticate with GCloud: To interact with Google Cloud services, the workflow authenticates using a service account key.
  3. Configure Docker for GCloud: This step ensures Docker can push images to Google's Artifact Registry.
  4. Build and Push Docker Image: The application is containerized and the resulting Docker image is pushed to the Artifact Registry.
  5. Setup Kustomize: Kustomize is downloaded and set up. It will be used later for customizing Kubernetes manifests.
  6. Get GKE Credentials: To deploy to GKE, the workflow fetches credentials for the Kubernetes cluster.
  7. Clone k8s-infra and Deploy: The k8s-infra repository, which contains Kubernetes manifests, is cloned using a deploy key. Then, Kustomize customizes the manifests, and the application is deployed to GKE.

Future Implementations and Enhancements

  • ArgoCD Integration: ArgoCD is a declarative, GitOps continuous delivery tool for Kubernetes.
  • Enhanced Monitoring with Prometheus and Grafana: Get real-time metrics on application performance and set up alerts for any anomalies.
  • Automated Testing with SonarQube: Continuous inspection of code quality.
  • Infrastructure as Code with Terraform: Define and provide data center infrastructure using a declarative configuration language.

Conclusion

Our GitHub Actions workflow provides a robust foundation for CI/CD. By considering integrations like ArgoCD, Prometheus, Grafana, SonarQube, and Terraform, we can ensure a more efficient, scalable, and reliable deployment process.


This README.md provides an overview of the project, its structure, and its goals. You can further customize it based on any additional sections or details you'd like to include.

cicd-gke's People

Contributors

callmedevops avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.