This repository demonstrates the following :
- Setup CI for a NodeJS application that builds a docker image and deploys it to DockerHub.
- Setup a CD pipeline to deploy the NodeJS docker image and an nginx image to a Kubernetes cluster using many strategies documented here.
- Source control account (e.g. GitHub, Bitbucket, Gitlab)
- Shippable account (sign up for free at www.shippable.com)
- Kubernetes cluster.
- Fork this repo into your local repository in your source control account.
- Login into Shippable with your source control account(wwww.shippable.com).
- Create a Docker Hub integration on shippable to your docker hub.
- All your CI configuration is in
shippable.yml
file, while you will modify next to reflect your integration. - Update the integrationName in the integration.hub section with the integration name created above.
- Change the DOCKER_REPO and DOCKER_ACC to point to your repo and docker account.
- Next, follow these CI Setup Instructions to enable your forked project for CI.
- Build your CI project by clicking on the build button. Once the build completes, the NodeJS docker image will be pushed to your DockerHub account.
- Create the Kubernetes integration using instructions provided here.
- Sign in with your shippable account, select your subscription from the dropdown menu in upper left (three horizontal lines).
- Select the Pipelines tab.
- Select the "+" icon in the upper right.
- Select the source control repo where your fork is. This will render all the jobs in the Single pane of glass (SPOG).
- Run the pipeline following instructions here.
##Build link CI build on Shippable