2. Agenda
• What is GoCD?
• Benefits
• Concepts
• Nomad Architecture
• Kubernetes Architecture
• Step by Step
• Promoting applications across Environments
• Questions?
3. 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.
4. 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
16. 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
17. 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.
19. Promoting applications across Environments
Git Build
Docker
images
Upload
to
register
Rollout Testing
Rollout Testing
Rollout Testing
Dev Environment
Hmg Environment
Prod Environment
20. 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.