CI/CD: GitOps Workflow
You have a few applications running on Kubernetes, but are trying to figure out the best way to build an easy to use, secure and managable CI/CD process to push changes to production. With this package, our engineers will set up a GitOps-based delivery pipeline designed for Kubernetes with your specific requirements in mind.
A GitOps-based workflow means all changes to application environments will be initiated by pull request to a Git repository holding the Kubernetes manifest files. This way you have a workflow that is familiar to engineers and get a full audit trail and an approval process for changes.
As for technology choices, the Build (CI) Pipeline can be implemented using your preferred tool (maybe it already is), while the GitOps deployment pipeline will be implemented using ArgoCD.
What You Will Need
- At least one application to be deployed to Kubernetes with an active development team behind it. .
- Technical requirements:
- Kubernetes cluster to deploy and run pipelines
- Relevant access (credentials, kubectl, RBAC) to the cluster for CS engineers
- Container image registry
- Possibility to create new Git repositories as needed
- An existing app of choice that
- Runs as a Docker container in Kubernetes (with a Dockerfile and Kubernetes manifests)
- Has Docker images pushed/pulled from an existing Image Registry
- Has builds and tests that run as Docker containers
- Full-time availability during the entire engagement of at least one of your engineers with
- Knowledge of the target application’s dependencies, tests, and deployment
- Access to source code, deployment scripts and procedures, and access to target deployment environments
What to Expect
Week 1: Preparation and information gathering
- Discuss the optimal process and team responsibilities for your organization
- Your expectations are defined.
- We confirm your specific implementation details.
- Creation of Dockerfile(s) of your preferred app(s)
- Creation of Kubernetes manifests for the app(s)
Week 2-3: Implementing the pipeline
- A Cloud Native CI/CD pipeline, ready to build, test, and deploy simple apps to a clusterBuilds and tests are triggered automatically by commits landing in the master branch of the app's source-code repository.
- Deployments to a Kubernetes cluster are triggered by commits in the app's deploy repository (GitOps) and executed by ArgoCDKnowledge sharing, including: A walk-through session to demo the sample microservice pipeline, documentation, and instructions to configure new pipelines for other apps