Docker Build, Continuous Integration, and Deployment to Kubernetes for a Node JS application
A simple Node JS application with unit tests and coverage reports using mocha and istanbul. It also does a docker build once CI posses and then pushes the image to Docker Hub. Every time the image on Docker Hub changes, it is deployed to a Kubernetes pod running on Amazon EC2.
Run CI for this repo on Shippable
- Fork this repo into your local repo
- Login into the Continuous Integration Service
- Create an integration on shippable to your Docker Hub
- All CI configuration is in
- Follow these CI Setup Instructions if you have never used Shippable CI Service
- You should be able to run a manual build or webhook build on commit
Add Continuous Delivery pipelines to deploy to Kubernetes
- Create an integration for Kubernetes
- All pipeline config is in
shippable.jobs.yml. Check these files and update config wherever the comment asks you to replace with your specific values
- Follow instructions to add your Continuous Deployment pipeline
- Right click on the manifest job in the SPOG view and run the job.
- Your app should be deployed to your Kubernetes pod.
- Follow instructions to connect your Continuous Integration project to your Continuous Delivery pipelines
Your end to end pipeline is ready! From here on, any change you make to the application will be deployed to your Kubernetes pod.