Install OS X Server and Configure Xcode Server

To run Xcode Server, you must first install and configure OS X Server and Xcode on a Mac running OS X Yosemite. You can then write code on a development Mac and allow the server to perform continuous integrations of your software products on a schedule, whenever you commit a change to a source code repository, or manually as needed.

Xcode Server advertises itself over Bonjour on your local network. If you and other users will access Xcode Server from your local network only, you can use Bonjour to find Xcode Server. If you need the service to be visible more broadly, ask your DNS server administrator to add records for your OS X Server Mac to a DNS server. After these records are added, users can access the server by its host name, such as server.mycompany.com. If your intranet doesn’t have a DNS server, you and others can access the server by its local hostname, such as server.local.

Download OS X Server and Xcode

In order to use Xcode Server, your Mac must be running OS X Mavericks or Yosemite. If you have an earlier version, launch the App Store, click Updates in the toolbar, and upgrade OS X before installing OS X Server.

To install OS X Server on a Mac

  1. Open the App Store on the Mac that will be your server, and search for OS X Server.

  2. Download OS X Server from the App Store.

  3. After your download is complete, launch the Server app in /Applications or Launchpad

  4. When prompted, select the Mac you want to manage and click Continue in the OS X Server setup window (or click Help to see detailed setup instructions).

    ../art/ServerInstallScreen_2x.png../art/ServerInstallScreen_2x.png
  5. Follow the onscreen instructions to complete the installation.

    After you enter the user name and password of an administrator account on your Mac, the Server app installs the software it needs and configures your Mac to operate as a server.

To install Xcode

Set Up Xcode Server

With the Server and Xcode apps installed, you’re ready to configure and enable Xcode Server.

To start Xcode Server from the Server app

  1. Launch the Server app (if it’s not already running).

    You can click the Launchpad icon in the Dock and then click Server.

  2. In the Services list in the Server app sidebar, select Xcode.

    ../art/ServicesSidebar_2x.png
  3. Click the Choose Xcode button, and select Xcode 6 (or later).

    The first time you enable Xcode Server on a particular server, the service asks you to identify the Xcode release it should use to perform its tasks. If you need to identify a different Xcode release in the future, click the Choose button in the Builds area.

    ../art/server_choose_xcode_2x.png../art/server_choose_xcode_2x.png

     

    Click the On/Off switch to enable Xcode Server.

    ../art/server_on_off_switch_2x.png../art/server_on_off_switch_2x.png

     

Add your server to a team in the Apple Developer Program’s Member Center to allow Xcode Server to access Member Center assets, such as provisioning profiles and signing certificates to build products for iOS devices. This is necessary if you plan for Xcode Server to test iOS products and conduct performance testing on iOS devices. Note that you must be an admin or the agent of the team you want your server to join. For information about Apple Developer Program team roles, see Managing Your Team in Member Center in App Distribution Guide.

To add a server to a Member Center team in the Apple Developer Program

  1. In the Services list in the Server app sidebar, select Xcode.

  2. Click the Settings tab.

    ../art/SettingsTab_2x.png../art/SettingsTab_2x.png

     

  3. In the Settings pane, click the Add button to the right of the Developer Teams label.

  4. Sign in with your Apple Developer credentials.

    ../art/server_developer_team_login_2x.png
  5. Choose a team, if applicable, and click Add.

    The Server app connects to your Apple Developer account and downloads its own set of certificates, private keys, signing identities, and provisioning profiles for apps that are registered with your team.

After adding a team to Xcode Server, you can add iOS development devices for use when running performance tests.

To add an iOS development device to Xcode Server

  1. In the Services list in the Server app sidebar, select Xcode.

  2. Connect the device to the server, and wait until it appears in the Devices list.

  3. Click the “Use for Development” button next to the device in the list.

    A device cannot be used for performance testing until it has been provisioned. If the device has not been provisioned for the team associated with your server, click the “Add to Team” button to add the device to the team.

    ../art/server_devices_2x.png

    To view a device’s information, such as the teams assigned, model, serial number, and software version, select the device in the list and click the Edit button.

On the development Mac, add an account for the server. With the server account added to your development Mac, you can check the status of bots in Xcode’s report navigator. You can also create new projects and host them in Git repositories on the server.

To add an OS X Server account to Xcode on a development Mac

  1. Choose Xcode > Preferences on your development Mac.

  2. Click Accounts in the toolbar.

  3. Click the Add button (+), and choose Add Server.

  4. Select the server from the server list or enter a server address, then click the Next button.

  5. Specify your connection credentials for the server, and click Add.

    ../art/xcode_add_server_2x.png

    If the server is successfully configured, you can click the server address link in the Accounts preferences in Xcode, and Safari opens and shows the bots website hosted by the server.

Set Up Xcode Server for Team Members

If you are part of a team of developers, you can give the members user accounts on the server running OS X Server. This will enable them to create and manage bots, share and manage source code repositories, and use other services in OS X Server.

To add a user account to the server

  1. In the Accounts list in the Server app sidebar, select Users.

    For more details about creating user accounts, click the Help button in the lower-right corner of the Users pane.

  2. Click the Add button (+).

  3. Enter the user’s account information in the New User pane.

  4. Click Create.

You can also add and manage groups of user accounts by selecting Groups (under Accounts) in the Server app sidebar. For more details, click the Help button in the lower-right corner of the Groups pane.

On their development Mac computers, team members can add their account credentials for the server by using Accounts preferences in Xcode.

Anyone running Xcode who has access to the server can potentially create and view bots. You can, however, restrict which users have access to bots by clicking the Edit button in the Settings pane in Xcode Server.

To change permissions for who can create or view bots

  1. In the Services list in the Server app sidebar, select Xcode.

  2. Click the Settings tab.

    ../art/SettingsTab2_2x.png../art/SettingsTab2_2x.png

     

  3. Under Access in the Settings pane, click the Edit button for Permissions.

  4. Choose which users can create and view bots.

    ../art/BotPermissions_2x.png

    If you choose “all users” from the "Bots can be created and viewed by” pop-up menu, guests and every authenticated user can view bots, create, edit, and delete bots, and download items. The option “logged in users” includes local users and directory users, all of whom need to authenticate to have access to bots. Clicking “only some users” allows you to specify existing users or groups.

  5. If you chose to restrict bot creation, you can also choose to restrict view-only access to bots.

    Users with view-only access can view your Xcode Server website (see Monitor Bots from a Web Browser), but they can’t create bots, manage bots, or initiate integrations in Xcode. People who particularly benefit from having view-only access to bot activity are software testers, project managers, and seed coordinators.

  6. Click OK.