In these articles, we will deploy a restaurant web application developed by Node.js and React into the Kubernetes cluster by using GitHub Action (for Continuous Integration) and Argo CD (for Continuous Delivery).
For this, firstly, we will complete the Kubernetes cluster and Argo CD installations. Then, we will create a GitHub Action main.yml (deployment) file to run the CI pipeline, and then push the source code to the GitHub Repository to trigger the GitHub Action pipeline. The GitHub Action pipeline will build, tag, and then push the image of the source code into the private repository in Amazon ECR.
In the second and last article of this series, we will configure Argo CD (adding the app and the GitHub Repository to Argo CD, creating a secret in the Kubernetes cluster to connect Amazon ECR, etc.). After that, we will change the source code, push it to GitHub, and observe the results of this. The GitHub Action pipeline will be triggered automatically, and it will send the new image into the Amazon ECR. Then, Argo CD will automatically synchronize the Kubernetes cluster according to the changes in the yaml files, when it detects the changes in GitHub. Finally, we will observe the running of Argo CD by changing the number of Replicas in the Kubernetes manifest yaml file. We will examine the automatic deployment of the application in the Kubernetes cluster by using the Argo CD menu, GitHub Action menu, and Google Cloud GKE console. We will do them practically and step by step.