Skip to content

Latest commit

 

History

History
24 lines (15 loc) · 1.12 KB

5.1.md

File metadata and controls

24 lines (15 loc) · 1.12 KB

5.1 Overview

At the highest level, Go consists of two main components, the Go Server (referred to as "server") and the Go Agent (referred to as "agent").

Go Server with multiple agents

As soon as the server comes up, it opens two ports (an SSL port and a non-SSL port). The system works on a pull model in the sense that the agents periodically poll the server for work, instead of the server pushing work to the agents. This prevents the agents from having to have listening ports open on their side. The server coordinates everything, making sure that all the builds that need to run get run and all the agents are assigned work when possible.

Below is a high-level overview of the main flow of Go, where a commit made to a repository is seen by Go and a build is triggered based on it.


Go Server and Agent overview


Read about the internals of the Go Server, and terms such as MDU, Scheduler, etc. here.

Read about the internals of the Go Agent here.