SlideShare a Scribd company logo
Introduction to GOCD - Amulya Sharma
Practice in software engineering, of merging all developer working copies with a shared mainline several times a day.
The main aim of CI is to prevent integration problems (merge hell or integration hell).
Code is compiled if necessary and then packaged by a build server every time a change is committed to a source control repository, then
tested by a number of different techniques (possibly including manual testing) before it can be marked as releasable. Producing production
ready package continuously, with minimal or no manual intervention.
Continuous deployment is the next step of continuous delivery, Every change that passes the automated tests is deployed to production
automatically.
• Thought Works released kind of first Continuous Integration Server named “Cruise Control” as a free
software.
• Later in July 2008 release Continuous Delivery Product called “Cruise”
• Later “Cruise” renamed as “GO”
• Earlier in 2014 Though Works made “GO” Open Source [www.go.cd]
• How it works: Go Server and Agents
• Pipelines
• Go pipelines offer workflows flexibility.
• It also offers 4 Levels of abstractions
• Value Stream Map
• To visualizes your entire continuous delivery workflow. With a single glance you can trace a change
from commit all the way to deployment.
• Go Vs Jenkins (Most popular CI tool)
• Go Server
• User Management, Server configuration, Artifact repository, Package
repository etc., all managed at server.
•
• One or many Go Agents (Agents reach out to GO Server at startup)
• Agents can run on any machine
• Agents are workers, they execute the task assigned by server.
• Agents periodically contact the Go server to ask if there is any work.
• The server checks to see what resources the Agent has, and assigns any available Jobs that
match those resources.
• Categorize Agents By
Environment 1 Environment 2
Environment 3
Agent1 Agent..n
Agent1
Agent..n
Pipeline is a set of validations through which a piece of software must pass on its
way to release
• Every Commit can not be released, but its a release candidate
• If it passes all the steps listed in deployment pipeline then it can be released
Introduction to GOCD - Amulya Sharma
Stages
• Stages run consecutively
• Each stage triggered automatically by
successful completion of previous stage.
• Can also be triggered manually.
• Stage can also wait to get triggered manually.
git commit triggers
Pipeline
Stage: Build
Jobs
• Stages run concurrently with a stage
• Job fail it will fail stage it is in.
• Job can run in parallel over multiple agents.
Task
• Task run consecutively with a job
• These are actual commands or scripts
• Example ant, maven, fetch artifact,
script or shell command
Approval
• This can be automatic or manual.
• Automatic on last Stage success or manual for
manual intervention .
 Pipeline can have multiple Stages (run consecutively)
 Stages can have multiple Jobs (runs concurrently)
 Jobs can have multiple task (run consecutively)
Stage: Deploy Stage: Test
Pipeline: WebAppA
Job: Deploy DB
Job: Deploy Conf
Job: Deploy Web App
Introduction to GOCD - Amulya Sharma
• Pipeline 1 depends on an SCM.
• Pipeline 1 will trigger each time it polls the SCM and detects a new revision.
• Pipeline 1 and 2 depend on the same SCM.
• A new revision will trigger both Pipeline 1 and 2.
• Pipelines 1 and 2 depend on an SCM.
• Pipeline 3 depends on Pipelines 1 and 2.
• Imp: Pipeline 3 will only trigger if a new revision (SCM) has successfully passed through
both Pipeline 1 and Pipeline 2
• Pipelines 1 and 2 depend on SCM 1.
• Pipeline 3 depends on Pipelines 1 and 2, and SCM 2.
• Pipeline 3 will trigger:
•if a new revision (SCM 1) has successfully passed through both
Pipeline 1 and Pipeline 2
•each time it polls SCM 2 and detects a new revision
• Pipelines 1 and 2 depend on SCM 1.
• Pipeline 3 depends on SCM 2.
• Pipeline 4 depends on Pipelines 1, 2 and 3.
• Pipeline 4 will trigger:
• if a new revision (SCM 1) has successfully passed through
Pipelines 1 and 2.
• each time Pipeline 3 successfully completes (SCM 2)
Introduction to GOCD - Amulya Sharma
A value stream map can be generated for every execution. It provides you with the ability to:
• See what caused the current pipeline to be triggered.
• See what downstream pipelines were triggered by the current pipeline.
• See the status of the current pipeline and all its upstream and downstream dependencies.
• See changes in dependencies of the pipeline across different runs of it.
• Along with all this, it also allows you to easily debug problems when a dependency/configuration change
caused your build-test-release setup to break.
PROS:
• Visualization with Value Steam Map
• Fan in support - reduce risk of incompatible builds
• Powerful abstractions and their relationship:
Tasks inside Jobs inside Stages inside Pipelines
• Parallelizability
(jobs across agents, resources to tie jobs to a set of
agents)
• Security - Go can be configured (you can set https-only)
Cons
• Only a couple of extension points (plugins).
• Go Server is only one server no multiple server.
• Comes only with Jetty
PROS Compared to Cons of GO:
• Jenkins is easy to use "out-of-the-box"
• Hundreds of plugin available compare to few in GO
• Can be deployed to any web server.
• Can work with Master only with no agents, Go need
at least one agent.
• It works with VCS (plugins)
• Well-known, big user base, especially plugin writers.
Cons Compared Pros of GO:
• End-to-end visualization, not like GO VSM
• Fan in is hard to achieve.
• Jenkins authorization is per-user/group level
Go allows per-user/group and per-pipeline authorization
• Thoughtworks GO Products Docs
http://www.thoughtworks.com/products/docs/go/13.1/help/concepts_in_go.html
• Go Open Source Website
http://www.go.cd/
• Continuous Delivery.com
http://continuousdelivery.com/2010/09/deployment-pipeline-anti-patterns
• Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation (Addison-Wesley
Signature Series (Fowler)) http://amzn.com/0321601912

More Related Content

What's hot (20)

PPTX
Migrating IBM Cloud Orchestrator environment from v2.4.0.2 to v2.5.0.1
Paulraj Pappaiah
 
PDF
Continuous delivery with open source tools
Sebastian Helzle
 
PPT
Migrating to git
Xpand IT
 
PDF
VersionEye for PHP User Group Berlin
Robert Reiz
 
PPT
Release This! Tools for a Smooth Release Cycle
Guerrilla
 
PPTX
Git collaboration
Pham Quy (Jack)
 
PPTX
Version control
visual28
 
PPTX
Git basics, Team Workflows (Ciro Miranda)
Ciro Miranda
 
PPTX
JOIN 2021 Testable and reusable build automation Using Tekton
Pieter Vincken
 
PDF
Phabricator Workflow
Michael Schuett
 
PPTX
Leandro Melendez - Switching Performance Left & Right
Neotys_Partner
 
PPTX
Phabricator presentation
Ihsan Fauzi Rahman
 
PDF
Jenkins Reviewbot
Yardena Meymann
 
PDF
Merge hells - Feature Toggles to the rescue
Leena N
 
PPTX
Azure Pipelines
Mithun Shanbhag
 
PPTX
Test automation proposal
Mihai-Cristian Fratila
 
PDF
Phabricator gdg presentation
Nizameddin Ordulu
 
PDF
Develop Operation, Operate Development: A journey towards service delivery at...
Behrooz Nobakht
 
ODP
Webservice performance testing with SoapUI
Phuoc Nguyen
 
PDF
Mobicents Summit 2012 - Thomas Quintana - RestComm Cloud Communications
telestax
 
Migrating IBM Cloud Orchestrator environment from v2.4.0.2 to v2.5.0.1
Paulraj Pappaiah
 
Continuous delivery with open source tools
Sebastian Helzle
 
Migrating to git
Xpand IT
 
VersionEye for PHP User Group Berlin
Robert Reiz
 
Release This! Tools for a Smooth Release Cycle
Guerrilla
 
Git collaboration
Pham Quy (Jack)
 
Version control
visual28
 
Git basics, Team Workflows (Ciro Miranda)
Ciro Miranda
 
JOIN 2021 Testable and reusable build automation Using Tekton
Pieter Vincken
 
Phabricator Workflow
Michael Schuett
 
Leandro Melendez - Switching Performance Left & Right
Neotys_Partner
 
Phabricator presentation
Ihsan Fauzi Rahman
 
Jenkins Reviewbot
Yardena Meymann
 
Merge hells - Feature Toggles to the rescue
Leena N
 
Azure Pipelines
Mithun Shanbhag
 
Test automation proposal
Mihai-Cristian Fratila
 
Phabricator gdg presentation
Nizameddin Ordulu
 
Develop Operation, Operate Development: A journey towards service delivery at...
Behrooz Nobakht
 
Webservice performance testing with SoapUI
Phuoc Nguyen
 
Mobicents Summit 2012 - Thomas Quintana - RestComm Cloud Communications
telestax
 

Similar to Introduction to GOCD - Amulya Sharma (20)

PPTX
Go Training
alice yang
 
PDF
Software Delivery in 2016 - A Continuous Delivery Approach
Giovanni Toraldo
 
PPTX
varun JENKINS.pptx
VgPolampalli
 
PDF
CI/CD with Github Actions
Md. Minhazul Haque
 
PDF
Continuous Delivery @ Codemotion
Miguel Serrano Milano
 
PPTX
Basic Jenkins Guide.pptx
Jayanga V. Liyanage
 
PDF
Gitlab ci-cd
Dan MAGIER
 
PPTX
Seacon Continuous Delivery Pipeline Tools Track
Mark Rendell
 
PDF
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Giovanni Toraldo
 
PDF
Continuous Delivery
Netcetera
 
PDF
Git into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku
Salesforce Developers
 
PPT
Continuous Integration & Delivery
Jen Wei Lee
 
PDF
Ncerc rlmca202 adm m3 ssm
ssmarar
 
PDF
Jenkins - Automating Yourself Out Of A Job (One That You Don't Want)
lloydbenson
 
PPTX
Pipeline as code - new feature in Jenkins 2
Michal Ziarnik
 
PPTX
Continuous Delivery Applied (AgileDC)
Mike McGarr
 
PPTX
GitHub Actions (Nakov at RuseConf, Sept 2022)
Svetlin Nakov
 
PPTX
Continuous delivery applied (DC CI User Group)
Mike McGarr
 
PDF
Jenkins : Pipeline As Code
Shreyas Chaudhari
 
PDF
vodQA Pune (2019) - Jenkins pipeline As code
vodQA
 
Go Training
alice yang
 
Software Delivery in 2016 - A Continuous Delivery Approach
Giovanni Toraldo
 
varun JENKINS.pptx
VgPolampalli
 
CI/CD with Github Actions
Md. Minhazul Haque
 
Continuous Delivery @ Codemotion
Miguel Serrano Milano
 
Basic Jenkins Guide.pptx
Jayanga V. Liyanage
 
Gitlab ci-cd
Dan MAGIER
 
Seacon Continuous Delivery Pipeline Tools Track
Mark Rendell
 
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Giovanni Toraldo
 
Continuous Delivery
Netcetera
 
Git into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku
Salesforce Developers
 
Continuous Integration & Delivery
Jen Wei Lee
 
Ncerc rlmca202 adm m3 ssm
ssmarar
 
Jenkins - Automating Yourself Out Of A Job (One That You Don't Want)
lloydbenson
 
Pipeline as code - new feature in Jenkins 2
Michal Ziarnik
 
Continuous Delivery Applied (AgileDC)
Mike McGarr
 
GitHub Actions (Nakov at RuseConf, Sept 2022)
Svetlin Nakov
 
Continuous delivery applied (DC CI User Group)
Mike McGarr
 
Jenkins : Pipeline As Code
Shreyas Chaudhari
 
vodQA Pune (2019) - Jenkins pipeline As code
vodQA
 
Ad

Recently uploaded (20)

PDF
Integrating IIoT with SCADA in Oil & Gas A Technical Perspective.pdf
Rejig Digital
 
PDF
Arcee AI - building and working with small language models (06/25)
Julien SIMON
 
PDF
2025-07-15 EMEA Volledig Inzicht Dutch Webinar
ThousandEyes
 
PDF
Human-centred design in online workplace learning and relationship to engagem...
Tracy Tang
 
PDF
UiPath on Tour London Community Booth Deck
UiPathCommunity
 
PPTX
The Yotta x CloudStack Advantage: Scalable, India-First Cloud
ShapeBlue
 
PDF
HR agent at Mediq: Lessons learned on Agent Builder & Maestro by Tacstone Tec...
UiPathCommunity
 
PDF
Empowering Cloud Providers with Apache CloudStack and Stackbill
ShapeBlue
 
PDF
TrustArc Webinar - Navigating Data Privacy in LATAM: Laws, Trends, and Compli...
TrustArc
 
PDF
Productivity Management Software | Workstatus
Lovely Baghel
 
PDF
Novus-Safe Pro: Brochure-What is Novus Safe Pro?.pdf
Novus Hi-Tech
 
PPTX
Simplifying End-to-End Apache CloudStack Deployment with a Web-Based Automati...
ShapeBlue
 
PDF
Novus Safe Lite- What is Novus Safe Lite.pdf
Novus Hi-Tech
 
PDF
Shuen Mei Parth Sharma Boost Productivity, Innovation and Efficiency wit...
AWS Chicago
 
PDF
OpenInfra ID 2025 - Are Containers Dying? Rethinking Isolation with MicroVMs.pdf
Muhammad Yuga Nugraha
 
PPTX
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
PDF
Apache CloudStack 201: Let's Design & Build an IaaS Cloud
ShapeBlue
 
PDF
Alpha Altcoin Setup : TIA - 19th July 2025
CIFDAQ
 
PDF
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 
PDF
How a Code Plagiarism Checker Protects Originality in Programming
Code Quiry
 
Integrating IIoT with SCADA in Oil & Gas A Technical Perspective.pdf
Rejig Digital
 
Arcee AI - building and working with small language models (06/25)
Julien SIMON
 
2025-07-15 EMEA Volledig Inzicht Dutch Webinar
ThousandEyes
 
Human-centred design in online workplace learning and relationship to engagem...
Tracy Tang
 
UiPath on Tour London Community Booth Deck
UiPathCommunity
 
The Yotta x CloudStack Advantage: Scalable, India-First Cloud
ShapeBlue
 
HR agent at Mediq: Lessons learned on Agent Builder & Maestro by Tacstone Tec...
UiPathCommunity
 
Empowering Cloud Providers with Apache CloudStack and Stackbill
ShapeBlue
 
TrustArc Webinar - Navigating Data Privacy in LATAM: Laws, Trends, and Compli...
TrustArc
 
Productivity Management Software | Workstatus
Lovely Baghel
 
Novus-Safe Pro: Brochure-What is Novus Safe Pro?.pdf
Novus Hi-Tech
 
Simplifying End-to-End Apache CloudStack Deployment with a Web-Based Automati...
ShapeBlue
 
Novus Safe Lite- What is Novus Safe Lite.pdf
Novus Hi-Tech
 
Shuen Mei Parth Sharma Boost Productivity, Innovation and Efficiency wit...
AWS Chicago
 
OpenInfra ID 2025 - Are Containers Dying? Rethinking Isolation with MicroVMs.pdf
Muhammad Yuga Nugraha
 
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
Apache CloudStack 201: Let's Design & Build an IaaS Cloud
ShapeBlue
 
Alpha Altcoin Setup : TIA - 19th July 2025
CIFDAQ
 
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 
How a Code Plagiarism Checker Protects Originality in Programming
Code Quiry
 
Ad

Introduction to GOCD - Amulya Sharma

  • 2. Practice in software engineering, of merging all developer working copies with a shared mainline several times a day. The main aim of CI is to prevent integration problems (merge hell or integration hell). Code is compiled if necessary and then packaged by a build server every time a change is committed to a source control repository, then tested by a number of different techniques (possibly including manual testing) before it can be marked as releasable. Producing production ready package continuously, with minimal or no manual intervention. Continuous deployment is the next step of continuous delivery, Every change that passes the automated tests is deployed to production automatically.
  • 3. • Thought Works released kind of first Continuous Integration Server named “Cruise Control” as a free software. • Later in July 2008 release Continuous Delivery Product called “Cruise” • Later “Cruise” renamed as “GO” • Earlier in 2014 Though Works made “GO” Open Source [www.go.cd] • How it works: Go Server and Agents • Pipelines • Go pipelines offer workflows flexibility. • It also offers 4 Levels of abstractions • Value Stream Map • To visualizes your entire continuous delivery workflow. With a single glance you can trace a change from commit all the way to deployment. • Go Vs Jenkins (Most popular CI tool)
  • 4. • Go Server • User Management, Server configuration, Artifact repository, Package repository etc., all managed at server. • • One or many Go Agents (Agents reach out to GO Server at startup) • Agents can run on any machine • Agents are workers, they execute the task assigned by server.
  • 5. • Agents periodically contact the Go server to ask if there is any work. • The server checks to see what resources the Agent has, and assigns any available Jobs that match those resources. • Categorize Agents By Environment 1 Environment 2 Environment 3 Agent1 Agent..n Agent1 Agent..n
  • 6. Pipeline is a set of validations through which a piece of software must pass on its way to release • Every Commit can not be released, but its a release candidate • If it passes all the steps listed in deployment pipeline then it can be released
  • 8. Stages • Stages run consecutively • Each stage triggered automatically by successful completion of previous stage. • Can also be triggered manually. • Stage can also wait to get triggered manually. git commit triggers Pipeline Stage: Build Jobs • Stages run concurrently with a stage • Job fail it will fail stage it is in. • Job can run in parallel over multiple agents. Task • Task run consecutively with a job • These are actual commands or scripts • Example ant, maven, fetch artifact, script or shell command Approval • This can be automatic or manual. • Automatic on last Stage success or manual for manual intervention .  Pipeline can have multiple Stages (run consecutively)  Stages can have multiple Jobs (runs concurrently)  Jobs can have multiple task (run consecutively) Stage: Deploy Stage: Test Pipeline: WebAppA Job: Deploy DB Job: Deploy Conf Job: Deploy Web App
  • 10. • Pipeline 1 depends on an SCM. • Pipeline 1 will trigger each time it polls the SCM and detects a new revision. • Pipeline 1 and 2 depend on the same SCM. • A new revision will trigger both Pipeline 1 and 2. • Pipelines 1 and 2 depend on an SCM. • Pipeline 3 depends on Pipelines 1 and 2. • Imp: Pipeline 3 will only trigger if a new revision (SCM) has successfully passed through both Pipeline 1 and Pipeline 2
  • 11. • Pipelines 1 and 2 depend on SCM 1. • Pipeline 3 depends on Pipelines 1 and 2, and SCM 2. • Pipeline 3 will trigger: •if a new revision (SCM 1) has successfully passed through both Pipeline 1 and Pipeline 2 •each time it polls SCM 2 and detects a new revision • Pipelines 1 and 2 depend on SCM 1. • Pipeline 3 depends on SCM 2. • Pipeline 4 depends on Pipelines 1, 2 and 3. • Pipeline 4 will trigger: • if a new revision (SCM 1) has successfully passed through Pipelines 1 and 2. • each time Pipeline 3 successfully completes (SCM 2)
  • 13. A value stream map can be generated for every execution. It provides you with the ability to: • See what caused the current pipeline to be triggered. • See what downstream pipelines were triggered by the current pipeline. • See the status of the current pipeline and all its upstream and downstream dependencies. • See changes in dependencies of the pipeline across different runs of it. • Along with all this, it also allows you to easily debug problems when a dependency/configuration change caused your build-test-release setup to break.
  • 14. PROS: • Visualization with Value Steam Map • Fan in support - reduce risk of incompatible builds • Powerful abstractions and their relationship: Tasks inside Jobs inside Stages inside Pipelines • Parallelizability (jobs across agents, resources to tie jobs to a set of agents) • Security - Go can be configured (you can set https-only) Cons • Only a couple of extension points (plugins). • Go Server is only one server no multiple server. • Comes only with Jetty PROS Compared to Cons of GO: • Jenkins is easy to use "out-of-the-box" • Hundreds of plugin available compare to few in GO • Can be deployed to any web server. • Can work with Master only with no agents, Go need at least one agent. • It works with VCS (plugins) • Well-known, big user base, especially plugin writers. Cons Compared Pros of GO: • End-to-end visualization, not like GO VSM • Fan in is hard to achieve. • Jenkins authorization is per-user/group level Go allows per-user/group and per-pipeline authorization
  • 15. • Thoughtworks GO Products Docs http://www.thoughtworks.com/products/docs/go/13.1/help/concepts_in_go.html • Go Open Source Website http://www.go.cd/ • Continuous Delivery.com http://continuousdelivery.com/2010/09/deployment-pipeline-anti-patterns • Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation (Addison-Wesley Signature Series (Fowler)) http://amzn.com/0321601912

Editor's Notes

  • #4: http://blog.crisp.se/2013/02/05/yassalsundman/continuous-delivery-vs-continuous-deployment
  • #5: http://blog.crisp.se/2013/02/05/yassalsundman/continuous-delivery-vs-continuous-deployment
  • #6: http://blog.crisp.se/2013/02/05/yassalsundman/continuous-delivery-vs-continuous-deployment
  • #7: http://blog.crisp.se/2013/02/05/yassalsundman/continuous-delivery-vs-continuous-deployment
  • #8: http://blog.crisp.se/2013/02/05/yassalsundman/continuous-delivery-vs-continuous-deployment
  • #9: http://blog.crisp.se/2013/02/05/yassalsundman/continuous-delivery-vs-continuous-deployment
  • #10: http://continuousdelivery.com/2010/09/deployment-pipeline-anti-patterns
  • #11: http://blog.crisp.se/2013/02/05/yassalsundman/continuous-delivery-vs-continuous-deployment
  • #12: http://blog.crisp.se/2013/02/05/yassalsundman/continuous-delivery-vs-continuous-deployment
  • #13: http://blog.crisp.se/2013/02/05/yassalsundman/continuous-delivery-vs-continuous-deployment
  • #14: http://blog.crisp.se/2013/02/05/yassalsundman/continuous-delivery-vs-continuous-deployment
  • #15: http://blog.crisp.se/2013/02/05/yassalsundman/continuous-delivery-vs-continuous-deployment
  • #16: http://blog.crisp.se/2013/02/05/yassalsundman/continuous-delivery-vs-continuous-deployment