Go is a state-of-the-art continuous integration and release management system developed by ThoughtWorks. (Don't confuse Google's programming language Go!) Its predecessor, CruiseControl, is an open source, continuous integration tool developed by ThoughtWorks when consulting and delivering projects. With the continuous integration and continuous deployment of the hot, ThoughtWorks has set up a project team, based on cruise development in addition to the Go tool. ThoughtWorks Open Source Continuous delivery tool Go,go's official website is http://www.go.cd/, and its documentation is http://www.thoughtworks.com/products/docs/go/13.3/help/ Welcome_to_go.html. Using go to build a continuous deployment of a project pipeline is very fast and very convenient.
Architecture Design for Go
Go uses the server-agent mode. The server is used to display and configure the pipeline dashboard, and to store the built-in artifacts (archive files, such as a war packet); The agent is used to perform a real build operation, where one server can establish connections with multiple agents, and the agent supports multiple mainstream operating systems.
The benefits are:
Tests can be run on different platforms, ensuring that your software works well on multiple platforms;
You can divide the tests into different groups and run them in parallel on multiple agents, saving you time for running tests;
The agent can be conveniently managed to respond to different environmental requirements in a timely manner.
Agent's lifecycle
is the life cycle of agent work.
Each go build node machine needs to install Go Agent software (the name of the egg, not the FQ software), which is used to establish a connection with the go server. The Go agent will poll to see if the go server has a current build job. If so, Go server assigns it to an agent in the ready state. The agent creates a directory on its own machine catalog and downloads the latest material (such as the configured SVN repo address) and executes the specified task, such as building a project, running a unit test, or functional testing. If you configure artifacts (such as the result of a build, a war package), the agent executes and publishes the artifacts to the go server, so that the artifacts will be used by the next stage.
Some of the concepts in Go
Go is a logical abstraction of complex build and deployment activities, and provides a GUI and XML two ways to configure pipeline.
In the go world, multiple pipeline can collectively form a group, called Pipeline group. No pipeline is made up of multiple stage. Suppose a pipeline needs to do the following: Build a project, deploy it to a test environment, and deploy to a production environment. Then each link can be set to a stage. A stage is comprised of one or more jobs. For example, building a project stage, may be divided into the compilation and verification, functional testing, each step can be used as a job. A job is made up of one or more tasks. For example, functional testing this job can be divided into two tasks to complete, first deploy the artifacts to the test machine, and then run the functional test.
Comparison of Go and Jenkins
Go was designed to be a continuous deployment tool, and Jenkins is a continuous integration tool that requires the installation of plug-ins if you want to implement continuous deployment. Go and Jenkins are open source software, though free, but problems arise either by themselves or by waiting for the maintenance community to repair, go can purchase support services from ThoughtWorks. Jenkins as an open source product, the community is more active, more documentation and plug-ins, and go documents or data less.
Go as continuous delivery tool for. NET
The first step towards continuous delivery
Http://www.cnblogs.com/shanyou/p/3750720.html
Continuous integration and Deployment tool: Go (don't confuse Google's programming language Go!). )