SlideShare ist ein Scribd-Unternehmen logo
1 von 15
About Go

Go - the Continuous Integration and
Release Management system from
       ThoughtWorks Studios
Go server and agents

                • environment1
       agent1
                • environment3



                   • environment1
         agent2
                   • environment2


                • environment
         ..       m
       agent    • Environment n
Agent
• Agent is a real workhorse of Go platform.
• It has been assigned jobs from go server.
• Job assignment is based on go server load
  balanced, defined multiple Environment -
  Resource combinations.
How Sever and Agents communicate


• 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.

• Go supports a grid of Agents that can run
  Jobs.
Environment
• An Environment is a grouping of pipelines and
  agents.
• By assigning an agent to an environment, it
  will be used to run only those jobs that belong
  to the pipelines of that environment. An agent
  can be associated with one or more
  environments.
• A pipeline can, however, only be assigned to a
  single environment.
Pipeline Structure

             Pipeline


    Stage1              Stage2


job11    job12          job21
Pipeline
A release workflow management system
• Provides visibility into the status of each
  change, and control over the flow of changes
  as they move from build to testing to release.
• Scale pipelines easily with re-usable workflow
  templates to manage large numbers of
  projects.
Stage
• A pipeline allows you to break down a complex
  build into a sequence of simple stages for fast
  feedback, exhaustive validation and continuous
  deployment.
Example: Website_pipelines
   Build_and_Deploy
   Deploy_Business_SignOff
   Deploy_Long_Term_QA
   QA_Approval
Jobs
• The unit of work in Go is called a job . A job is
  a set of build tasks that can be performed on a
  single agent in your cloud. The jobs compose a
  stage.

  Example Build_and_Deploy: compile, Unit
Test, Deploy to CI Box, Smoke Test(Not
yet), Package
Stage
• Deploy_Business_SignOff : deploy to BA Box,
  BA sign off

• Deploy_Long_Term_QA: deploy to QA BOX,
  QA sign off
• QA_Approval: make a tag in SVN box for this
  version
Role

•   Dev: Build and Deploy
•   BA: Deploy_Business_SignOff
•   QA: QA approval, Deploy_Short_Term_QA ..
•   Infra: Deploy_Gold
•   Admin:
•   Guest: view and download all artifacts
Code Process

              Svn box



Production
                         Agent box
  deploy




QA deploy                Dev deploy




             BA deploy
Preparing work
• Modify build.xml and deploy.xml
  –        Dependent jar from Go
  –        Import build tools and environment
  –        Lib path
• Check in to SVN
  –        set external feature in svn to get share lib
      and build tools
Environment Properties
• Environment Target Set up
  – environment properties file
  – environment.xml


• Generate properties file for delivery
  destination and insert in to the delivery
  package. It creates different property file
  needed by different environments
Developer work
•   Watch Pipeline status
•   Set up email notification
•   Find broken Cause
•   See artifacts
•   Check website

Weitere ähnliche Inhalte

Was ist angesagt?

CI_CD_Demo.pptx
CI_CD_Demo.pptxCI_CD_Demo.pptx
CI_CD_Demo.pptxTheGame26
 
Docker and Jenkins Pipeline
Docker and Jenkins PipelineDocker and Jenkins Pipeline
Docker and Jenkins PipelineMark Waite
 
Arquillian & Citrus
Arquillian & CitrusArquillian & Citrus
Arquillian & Citruschristophd
 
Compliance Automation with InSpec
Compliance Automation with InSpecCompliance Automation with InSpec
Compliance Automation with InSpec Nathen Harvey
 
Efficient Parallel Testing with Docker
Efficient Parallel Testing with DockerEfficient Parallel Testing with Docker
Efficient Parallel Testing with DockerLaura Frank Tacho
 
Effective Testing with Ansible and InSpec
Effective Testing with Ansible and InSpecEffective Testing with Ansible and InSpec
Effective Testing with Ansible and InSpecNathen Harvey
 
Evolution of netflix conductor
Evolution of netflix conductorEvolution of netflix conductor
Evolution of netflix conductorvedu12
 
Integration Testing with Docker Containers with DockerCompose
Integration Testing with Docker Containers  with DockerComposeIntegration Testing with Docker Containers  with DockerCompose
Integration Testing with Docker Containers with DockerComposeMike Holdsworth
 
Building a Service Delivery Platform - JCICPH 2014
Building a Service Delivery Platform - JCICPH 2014Building a Service Delivery Platform - JCICPH 2014
Building a Service Delivery Platform - JCICPH 2014Andreas Rehn
 
Hp Load Runner Tutorial 1 How Do We Record An Application Using Load Runner
Hp Load Runner Tutorial 1   How Do We Record An Application Using Load RunnerHp Load Runner Tutorial 1   How Do We Record An Application Using Load Runner
Hp Load Runner Tutorial 1 How Do We Record An Application Using Load RunnerYogindernath Gupta
 
Jenkins Pipeline @ Scale. Building Automation Frameworks for Systems Integration
Jenkins Pipeline @ Scale. Building Automation Frameworks for Systems IntegrationJenkins Pipeline @ Scale. Building Automation Frameworks for Systems Integration
Jenkins Pipeline @ Scale. Building Automation Frameworks for Systems IntegrationOleg Nenashev
 
SkyBase - a Devops Platform for Hybrid Cloud
SkyBase - a Devops Platform for Hybrid CloudSkyBase - a Devops Platform for Hybrid Cloud
SkyBase - a Devops Platform for Hybrid CloudVlad Kuusk
 
Role of Pipelines in Continuous Delivery
Role of Pipelines in Continuous DeliveryRole of Pipelines in Continuous Delivery
Role of Pipelines in Continuous DeliveryMandi Walls
 
Building Efficient Parallel Testing Platforms with Docker
Building Efficient Parallel Testing Platforms with DockerBuilding Efficient Parallel Testing Platforms with Docker
Building Efficient Parallel Testing Platforms with DockerLaura Frank Tacho
 
Rails Applications with Docker
Rails Applications with DockerRails Applications with Docker
Rails Applications with DockerLaura Frank Tacho
 
Running tests for every commit: Gerrit, Jenkins, Docker, AWS
Running tests for every commit: Gerrit, Jenkins, Docker, AWSRunning tests for every commit: Gerrit, Jenkins, Docker, AWS
Running tests for every commit: Gerrit, Jenkins, Docker, AWSAlexander Akbashev
 
Continuous Build To Continuous Release - Experience
Continuous Build To Continuous Release - ExperienceContinuous Build To Continuous Release - Experience
Continuous Build To Continuous Release - ExperienceRaja Soundaramourty
 
Rundeck + Nexus (from Nexus Live on June 5, 2014)
Rundeck + Nexus (from Nexus Live on June 5, 2014)Rundeck + Nexus (from Nexus Live on June 5, 2014)
Rundeck + Nexus (from Nexus Live on June 5, 2014)dev2ops
 

Was ist angesagt? (20)

CI_CD_Demo.pptx
CI_CD_Demo.pptxCI_CD_Demo.pptx
CI_CD_Demo.pptx
 
Docker and Jenkins Pipeline
Docker and Jenkins PipelineDocker and Jenkins Pipeline
Docker and Jenkins Pipeline
 
Arquillian & Citrus
Arquillian & CitrusArquillian & Citrus
Arquillian & Citrus
 
Compliance Automation with InSpec
Compliance Automation with InSpecCompliance Automation with InSpec
Compliance Automation with InSpec
 
LoadRunner walkthrough
LoadRunner walkthroughLoadRunner walkthrough
LoadRunner walkthrough
 
Efficient Parallel Testing with Docker
Efficient Parallel Testing with DockerEfficient Parallel Testing with Docker
Efficient Parallel Testing with Docker
 
Effective Testing with Ansible and InSpec
Effective Testing with Ansible and InSpecEffective Testing with Ansible and InSpec
Effective Testing with Ansible and InSpec
 
Chef Cookbook Workflow
Chef Cookbook WorkflowChef Cookbook Workflow
Chef Cookbook Workflow
 
Evolution of netflix conductor
Evolution of netflix conductorEvolution of netflix conductor
Evolution of netflix conductor
 
Integration Testing with Docker Containers with DockerCompose
Integration Testing with Docker Containers  with DockerComposeIntegration Testing with Docker Containers  with DockerCompose
Integration Testing with Docker Containers with DockerCompose
 
Building a Service Delivery Platform - JCICPH 2014
Building a Service Delivery Platform - JCICPH 2014Building a Service Delivery Platform - JCICPH 2014
Building a Service Delivery Platform - JCICPH 2014
 
Hp Load Runner Tutorial 1 How Do We Record An Application Using Load Runner
Hp Load Runner Tutorial 1   How Do We Record An Application Using Load RunnerHp Load Runner Tutorial 1   How Do We Record An Application Using Load Runner
Hp Load Runner Tutorial 1 How Do We Record An Application Using Load Runner
 
Jenkins Pipeline @ Scale. Building Automation Frameworks for Systems Integration
Jenkins Pipeline @ Scale. Building Automation Frameworks for Systems IntegrationJenkins Pipeline @ Scale. Building Automation Frameworks for Systems Integration
Jenkins Pipeline @ Scale. Building Automation Frameworks for Systems Integration
 
SkyBase - a Devops Platform for Hybrid Cloud
SkyBase - a Devops Platform for Hybrid CloudSkyBase - a Devops Platform for Hybrid Cloud
SkyBase - a Devops Platform for Hybrid Cloud
 
Role of Pipelines in Continuous Delivery
Role of Pipelines in Continuous DeliveryRole of Pipelines in Continuous Delivery
Role of Pipelines in Continuous Delivery
 
Building Efficient Parallel Testing Platforms with Docker
Building Efficient Parallel Testing Platforms with DockerBuilding Efficient Parallel Testing Platforms with Docker
Building Efficient Parallel Testing Platforms with Docker
 
Rails Applications with Docker
Rails Applications with DockerRails Applications with Docker
Rails Applications with Docker
 
Running tests for every commit: Gerrit, Jenkins, Docker, AWS
Running tests for every commit: Gerrit, Jenkins, Docker, AWSRunning tests for every commit: Gerrit, Jenkins, Docker, AWS
Running tests for every commit: Gerrit, Jenkins, Docker, AWS
 
Continuous Build To Continuous Release - Experience
Continuous Build To Continuous Release - ExperienceContinuous Build To Continuous Release - Experience
Continuous Build To Continuous Release - Experience
 
Rundeck + Nexus (from Nexus Live on June 5, 2014)
Rundeck + Nexus (from Nexus Live on June 5, 2014)Rundeck + Nexus (from Nexus Live on June 5, 2014)
Rundeck + Nexus (from Nexus Live on June 5, 2014)
 

Ähnlich wie Go Training

Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOpsEklove Mohan
 
Into the cloud
Into the cloudInto the cloud
Into the cloudTomas Riha
 
Scaling Kanban in the Enterprise with GreenHopper
Scaling Kanban in the Enterprise with GreenHopperScaling Kanban in the Enterprise with GreenHopper
Scaling Kanban in the Enterprise with GreenHopperDavid Jellison
 
Introduction to GOCD - Amulya Sharma
Introduction to GOCD - Amulya SharmaIntroduction to GOCD - Amulya Sharma
Introduction to GOCD - Amulya SharmaAmulya Sharma
 
Dev/Test scenarios in DevOps world
Dev/Test scenarios in DevOps worldDev/Test scenarios in DevOps world
Dev/Test scenarios in DevOps worldDavide Benvegnù
 
Multi-Branched development with Git Source Code Management
Multi-Branched development with Git Source Code ManagementMulti-Branched development with Git Source Code Management
Multi-Branched development with Git Source Code Managementdopejam
 
Arch9 - A cloud based continuous delivery implementation
Arch9 - A cloud based continuous delivery implementationArch9 - A cloud based continuous delivery implementation
Arch9 - A cloud based continuous delivery implementationPavel Chunyayev
 
Intelligent Projects with Maven - DevFest Istanbul
Intelligent Projects with Maven - DevFest IstanbulIntelligent Projects with Maven - DevFest Istanbul
Intelligent Projects with Maven - DevFest IstanbulMert Çalışkan
 
Migration Station at SAS - DevOps for Fusion with Version Control and Continu...
Migration Station at SAS - DevOps for Fusion with Version Control and Continu...Migration Station at SAS - DevOps for Fusion with Version Control and Continu...
Migration Station at SAS - DevOps for Fusion with Version Control and Continu...Lucidworks
 
Ci jenkins maven svn
Ci jenkins maven svnCi jenkins maven svn
Ci jenkins maven svnAnkur Goyal
 
Weblogic Domain Activity
Weblogic Domain ActivityWeblogic Domain Activity
Weblogic Domain Activitysubash prakash
 
Java build tools
Java build toolsJava build tools
Java build toolsSujit Kumar
 
5 Steps on the Way to Continuous Delivery
5 Steps on the Way to Continuous Delivery5 Steps on the Way to Continuous Delivery
5 Steps on the Way to Continuous DeliveryXebiaLabs
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...Simplilearn
 
Continuous Delivery Overview
Continuous Delivery OverviewContinuous Delivery Overview
Continuous Delivery OverviewWill Iverson
 
Continuous Integration on AWS
Continuous Integration on AWSContinuous Integration on AWS
Continuous Integration on AWSPetar Petrov
 

Ähnlich wie Go Training (20)

Introduction to Go
Introduction to GoIntroduction to Go
Introduction to Go
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOps
 
Into the cloud
Into the cloudInto the cloud
Into the cloud
 
Scaling Kanban in the Enterprise with GreenHopper
Scaling Kanban in the Enterprise with GreenHopperScaling Kanban in the Enterprise with GreenHopper
Scaling Kanban in the Enterprise with GreenHopper
 
Introduction to GOCD - Amulya Sharma
Introduction to GOCD - Amulya SharmaIntroduction to GOCD - Amulya Sharma
Introduction to GOCD - Amulya Sharma
 
Devops
DevopsDevops
Devops
 
Devops
DevopsDevops
Devops
 
Dev/Test scenarios in DevOps world
Dev/Test scenarios in DevOps worldDev/Test scenarios in DevOps world
Dev/Test scenarios in DevOps world
 
Multi-Branched development with Git Source Code Management
Multi-Branched development with Git Source Code ManagementMulti-Branched development with Git Source Code Management
Multi-Branched development with Git Source Code Management
 
Arch9 - A cloud based continuous delivery implementation
Arch9 - A cloud based continuous delivery implementationArch9 - A cloud based continuous delivery implementation
Arch9 - A cloud based continuous delivery implementation
 
Intelligent Projects with Maven - DevFest Istanbul
Intelligent Projects with Maven - DevFest IstanbulIntelligent Projects with Maven - DevFest Istanbul
Intelligent Projects with Maven - DevFest Istanbul
 
Migration Station at SAS - DevOps for Fusion with Version Control and Continu...
Migration Station at SAS - DevOps for Fusion with Version Control and Continu...Migration Station at SAS - DevOps for Fusion with Version Control and Continu...
Migration Station at SAS - DevOps for Fusion with Version Control and Continu...
 
Ci jenkins maven svn
Ci jenkins maven svnCi jenkins maven svn
Ci jenkins maven svn
 
Weblogic Domain Activity
Weblogic Domain ActivityWeblogic Domain Activity
Weblogic Domain Activity
 
Java build tools
Java build toolsJava build tools
Java build tools
 
5 Steps on the Way to Continuous Delivery
5 Steps on the Way to Continuous Delivery5 Steps on the Way to Continuous Delivery
5 Steps on the Way to Continuous Delivery
 
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
 
Continuous Delivery Overview
Continuous Delivery OverviewContinuous Delivery Overview
Continuous Delivery Overview
 
Automated Testing in DevOps
Automated Testing in DevOpsAutomated Testing in DevOps
Automated Testing in DevOps
 
Continuous Integration on AWS
Continuous Integration on AWSContinuous Integration on AWS
Continuous Integration on AWS
 

Go Training

  • 1. About Go Go - the Continuous Integration and Release Management system from ThoughtWorks Studios
  • 2. Go server and agents • environment1 agent1 • environment3 • environment1 agent2 • environment2 • environment .. m agent • Environment n
  • 3. Agent • Agent is a real workhorse of Go platform. • It has been assigned jobs from go server. • Job assignment is based on go server load balanced, defined multiple Environment - Resource combinations.
  • 4. How Sever and Agents communicate • 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. • Go supports a grid of Agents that can run Jobs.
  • 5. Environment • An Environment is a grouping of pipelines and agents. • By assigning an agent to an environment, it will be used to run only those jobs that belong to the pipelines of that environment. An agent can be associated with one or more environments. • A pipeline can, however, only be assigned to a single environment.
  • 6. Pipeline Structure Pipeline Stage1 Stage2 job11 job12 job21
  • 7. Pipeline A release workflow management system • Provides visibility into the status of each change, and control over the flow of changes as they move from build to testing to release. • Scale pipelines easily with re-usable workflow templates to manage large numbers of projects.
  • 8. Stage • A pipeline allows you to break down a complex build into a sequence of simple stages for fast feedback, exhaustive validation and continuous deployment. Example: Website_pipelines Build_and_Deploy Deploy_Business_SignOff Deploy_Long_Term_QA QA_Approval
  • 9. Jobs • The unit of work in Go is called a job . A job is a set of build tasks that can be performed on a single agent in your cloud. The jobs compose a stage. Example Build_and_Deploy: compile, Unit Test, Deploy to CI Box, Smoke Test(Not yet), Package
  • 10. Stage • Deploy_Business_SignOff : deploy to BA Box, BA sign off • Deploy_Long_Term_QA: deploy to QA BOX, QA sign off • QA_Approval: make a tag in SVN box for this version
  • 11. Role • Dev: Build and Deploy • BA: Deploy_Business_SignOff • QA: QA approval, Deploy_Short_Term_QA .. • Infra: Deploy_Gold • Admin: • Guest: view and download all artifacts
  • 12. Code Process Svn box Production Agent box deploy QA deploy Dev deploy BA deploy
  • 13. Preparing work • Modify build.xml and deploy.xml – Dependent jar from Go – Import build tools and environment – Lib path • Check in to SVN – set external feature in svn to get share lib and build tools
  • 14. Environment Properties • Environment Target Set up – environment properties file – environment.xml • Generate properties file for delivery destination and insert in to the delivery package. It creates different property file needed by different environments
  • 15. Developer work • Watch Pipeline status • Set up email notification • Find broken Cause • See artifacts • Check website