2. What is Spinnaker?
“Spinnaker is an open source, multi-cloud
continuous delivery platform that helps you
release software changes with high velocity and
confidence”
- spinnaker.io
• Started by Netflix
• Integrations to the major cloud providers (incl. K8s)
• Backed-up: Google, Microsoft, AWS
• Based on experience and lessons learned
3. Continuous Delivery?
• Continuous Delivery is getting changes of all types—including new
features, configuration changes, bug fixes and experiments—into
production (environments), and the hands of users, safely and
quickly in a sustainable way.
- continuousdelivery.com
4. Environments & Tools
• This setup is for Kubernetes deployments only.
• K8s clusters in CD
Dev: 1 per engineering team
Staging / UAT: shared organisation wide
Prod: Production.
• Docker
Different pieces and tools come into the CD process.
5. Environments & Tools
• Jenkins CI builds still remain
• Static code analysis (SonarQube Scans)
• Security Scans & test
• Automated QA tests:
Selenium tests
Newman (Postman cli)
Environments and tools available in the CD process.
6. Jenkins “Pipeline”
• Jenkins is good at CI
• The pipelines are actually:
Multiple Jobs chained together with post build actions. Not really a pipeline
So many scripts
Auto-manual promotions. Still requires moving from job to job
• Not Immutable
• Plugins have caused instability
• If When Jenkins goes down
Question: So what about our Jenkins pipeline? why change those?
11. Setup
• Requirements
Kubernetes cluster
Persistent Volume enabled
• Installation
Installing using Helm. Following the steps listed here.
There’s also Halyard and Kubernetes operator options
Expose your spin-deck service with a Kubernetes ingress.
14. What to improve. • Automated CR
• CR Approvals
• Immutable builds
• Add other scans and tests to pipeline
• Ingress in load balancers
• Rolling update
• Add canary checks
• CI as Code