Spinnaker

Wikipedia states that : Spinnaker is an open source, multi-cloud continuous delivery platform for releasing software changes with high velocity and confidence.

In other words it is used for Spinnaker is a service which can deploy to any cloud service operator whether its is google cloud or Aws or kubernetes.In my case it was kubernetes.
It can also be used to automate all the steps from testing to staging to production.

For Example: If I push my code to github and my local jenkin build passes Spinnaker will automatically spawn the required pipeline taking the pod and deploying into the kubernetes cluster.
All the stages can be configured from inside the spinnaker.Even if the build fails at some point we can configure whether to rollback to previous stage or continue:

Some of the steps to create the pipeline is shown below:

  • Open the spinnaker link and create an sample application.
  • After creating sample application create a new pipeline.
  • Fill out necessary information with meaningful names:
  • Add any number of stages to your pipeline according to the required services job.Sample job is given below.
  • Click Add Stage
  • Select Type and stage name.
  • Fill out Basic Settings and manifest Setting.
  • I had to select my kubernetes account and artifact setting as it was required by me

We can also create multiple stages to run parallely which makes the performance more faster and consumes less time:

There will be yaml files to which spinnaker will refer and run its stage like config.yaml,deployment.yaml etc.So before creating pipelines we should have our cloud configuration ready by creating yaml files.

This was the basic structure to create a Spinnaker pipeline..Since I cannot give the exact pipeline details but this was the basic idea.
After creating pipeline we can manually trigger and see if each stages is successful or not.

There are many other advantages which Spinnaker has but I have used it to deploy it into kubernetes cluster.After deploying we can see if the pod is getting created or not by running kubectl get pods | grep ‘name’

For more info : https://www.spinnaker.io/guides/user/pipeline/managing-pipelines/

Spinakker Playlist : https://www.youtube.com/watch?v=H_rFShgmJHY&list=PLkzenGYiHxONaK3PJq0YyOdzYRrq76Zgu