MacOS – How to configure macOS Server 5.11 for CI with XCode

macososx-serverxcode

I have a question. I bought macOS Server from the App Store. I want to achieve this basically:
https://developer.apple.com/library/archive/documentation/IDEs/Conceptual/xcode_guide-continuous_integration/
However, when I open Server, then on the left it is supposed to show XCode under Services, but it isn't.
I have posed my main question here:
https://serverfault.com/questions/1060038/how-to-let-osx-server-show-xcode-as-a-service
This is the main problem, but there seem to be a number of subproblems:

  1. How to configure my router? (which ports should be forwarded?)
  2. In XCode I enabled the Server under XCode > XCode Server … (with the slider at the top right). I created the extra non-admin account on my Mac and permitted "node" through the firewall. Do I need to add a (non-guest) Server Account under Accounts in XCode?
  3. In XCode, clicking Product > Create Bot …, gives an alert: "Creating a bot requires that the project be under source control that is accessible by the server." Note: I put this project in the additional XCode Server logged in user account's shared folder, so I don't know why it wouldn't have access to it? What else/what is the default or best location for repo's and how can I set the location?
  4. In macOS Server itself, how do I configure it? Under Julius's iMac Pro > Settings, ticking '[] Secure shell connections (SSH)' works, when I forward port 22 on the router and allow SSH in the macOS app firewall: I can SSH in over the internet (using my external IP). I haven't ticked the other two boxes. Under Julius's's iMac Pro > Overview the button Reachability Details… goves No available services (again, this is the main problem I think). I set Julius's's iMac Pro > Access to fairly restricted settings (only me, only this Mac), here it says: "macOS Application Firewall is enabled. Network access may be affected." However, I don't know how it may be affected, I can't add XCode here.

Best Answer

The article you linked is out of date. Xcode Server is now integrated directly into Xcode and OS X Server (now "macOS Server") is no longer required.

Here's an up-to-date tutorial on getting started with Xcode Server: https://www.raywenderlich.com/12258400-xcode-server-for-ios-getting-started

I don't think you want to expose your Xcode Server to the internet, so you best use a VPN.