Service tier
The Build server provides various services, such as: the user interface, process engine, and security services, among others. The REST-based user interface provides the web-based front end that you use to create projects and define workflows; request processes, and manage security and resources, among other things.
When a workflow is requested, many services are used to fulfill the request. Workflow requests are initiated with the user interface or a REST service.
| Service | Description |
|---|---|
| User Interface | Used to manage the configuration of all items and see the current and historical runtime information of the system. |
| Process Engine | Does processing for builds and secondary processes. This service also uses the agent manager service to acquire agents for jobs and run steps on agents. This service also sends events about job starts and completions that are used by notification and dependency services for sending notification and triggering other jobs. |
| CodeStation | Is a dependency management system and artifact repository. CodeStation can store and process dependency configurations, with which builds can retrieve the artifacts that they require at build-time. This resolution is also stored with the build life as a permanent history of what was used. CodeStation also provides an interface as a Maven repository. |
| Agent manager | Tracks agents and their offline and online status. This service also controls access to agents if a workflow must run a step on an agent. Agent manager also stores the properties of an agent and can be used to upgrade or restart an agent remotely. |
| Plug-in manager | Build can interact with virtually any system through its extensible plug-in system. Plug-ins provide functions by breaking-down tool features into automated steps. Plug-ins can be configured at design- and run time. When a plug-in step runs, the controlling agent calls its runtime process to run the step. |
| Event service | A message bus with publishers and subscribers that provides messaging between services in an asynchronous method. |
| Notification manager | Notifies users about events by using notification schemes, which consist of the when, who, what, and how of notifications. When is the event that triggers a notification. The who is to whom the notification is sent. What is the content that is sent which, is generated from templates. How is the notification channel and can be email or instant message. |
| Security | Includes authentication and authorization functions. The authentication is configuration for determining who a user is and might use an internal database, LDAP, Active Directory, or a Single Sign-On service. The authorization is configuration for what a user can do. The security service includes tools for assigning users to groups, and for assigning users and groups to roles. |
