Go Training
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Go Training

  • 261 views
Uploaded on

How to use Thoughtworks Go platform to agile continuous integration and delivery projects

How to use Thoughtworks Go platform to agile continuous integration and delivery projects

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
261
On Slideshare
260
From Embeds
1
Number of Embeds
1

Actions

Shares
Downloads
4
Comments
0
Likes
0

Embeds 1

http://www.slashdocs.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. About GoGo - the Continuous Integration andRelease 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 Stage2job11 job12 job21
  • 7. PipelineA 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, UnitTest, Deploy to CI Box, Smoke Test(Notyet), 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 boxProduction Agent box deployQA 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