Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
GOCD – Kubernetes/Nomad Continuous
Deployment
Leandro Totino Pereira – System Engineer
Agenda
• What is GoCD?
• Benefits
• Concepts
• Nomad Architecture
• Kubernetes Architecture
• Step by Step
• Promoting applications across Environments
• Questions?
What´s Gocd
GoCD is an open source tool which is used in software
development to achieve continuous delivery (CD) of software.
It supports automating the entire build-test-release process from
code check-in to deployment. It helps to keep producing valuable
software in short cycles and ensure that the software can be
reliably released at any time.
Gocd - Benefits
• Pipeline Based
• Agent based
• Parallel and Sequential execution
• End-to-end workflow
• GoCD's agent grid provides parallel and cross-platform execution
• Numerous plug-ins
• Simple Exceptions and Error Handling
• Flexible to setup any deploy
• Excellent API Reference
Gocd Concepts I
• Environments
• Pipelines
• Stages
• Job
• Tasks
• Agents
Gocd Concepts II
Gocd Concepts III
Gocd Concepts IV
Gocd Concepts V
Gocd Concepts VI
Tasks conditions
Timeout and scheduling job
Stage Settings
Nomad Architecture
Kubernetes architecture
Step by step
• 1 - Start a gocd pipeline (manually or automatically) based a git tag
or branch, kubernetes namespace or nomad job
• 2 - Gocd agent is going to git clone
• 3 - Gocd Agent is going to build through build process you set up
• 4 – Docker build in your git dockerfile
• 5 – Docker push to registry servers
• 6 – Run Docker images (kubectl rollout/API)
• 7 - Applications auto-registration etcd/consul
• 8 – Consul/etc-templates update load balancer config file
Trigger pipeline Dev Environment
Deploying new version an analyst just need to inform a git tag version and a
kube namespace/nomad job name on dev environment.
Full process through pipeline/stages
Promoting applications across Environments
Git Build
Docker
images
Upload
to
register
Rollout Testing
Rollout Testing
Rollout Testing
Dev Environment
Hmg Environment
Prod Environment
HMG/PROD Deployment
Deploying appplication o dev enviromment we just setup another environment just
informing docker image name, its tag and kube namespace/nomad job name.
Thank you!
Questions?
More information:
Linkedin
https://www.linkedin.com/in/leandro-totino-pereira-06726227
Facebook:
https://www.facebook.com/leandro.totinopereira

More Related Content

Gocd – Kubernetes/Nomad Continuous Deployment