Xcode service is a continuous integration system for automating static analysis of software, unit testing, and build archiving.
Continuous integration is a software development practice that tests and builds software on a continuous basis, keeping working quality for each build. Periodically, or on every code commit, Xcode service analyzes, tests, and builds the developer’s work.
Xcode service hosts a software versioning repository (Git), checks out the source code, and works on its integration tasks as it’s directed. This discrete set of automated instructions is called a bot in Xcode service.
Most of the interaction with bots happens in Xcode, although there’s a web front-end to download build products and logs.
For more information about using Xcode with Xcode service, see the Xcode Continuous Integration Guide at the Apple Developer Library.
What do I need to administer Xcode service?
A Mac with the Server app and the latest Xcode installed.
A development Mac with the latest Xcode.
This is most likely the computer you already use for development. Although it’s recommended you develop on a Mac separate from the one running Xcode server, it’s not necessary.
What are integrations?
Integrations are tasks such as static analysis, testing, and archiving that Xcode performs on schemes in a current version of a workspace in a repository. An integration is either successful (all the checks pass without issues) or unsuccessful.
Xcode service bots run these integrations by performing three scheme actions:
Perform static analysis (“Analyze”)
Run unit test (“Test”)
Archive the build scheme product (“Archive”)
Wherever you see Integrate in Xcode service, it’s a command to run the designated checks. You must share the build scheme before a bot can perform any integrate action.
Where is the code stored?
Xcode service hosts the code repositories itself.
On the server’s file system, locally hosted repositories are located in /Library/Server/Xcode/Repositories/.