I'm trying to get Continuous Integration setup in Mavericks using OS X Server for Mavericks.
I have the Server installed and my source code is in a local directory using Git from assembla. I'm following the Apple Xcode Continuous Integration Guide, and I'm at the part where I'm adding a bot to the product in Xcode.
I'm getting the error:
Creating a bot requires a project that is under source control. This project appears to be in a local git repository. To be able to create a bot, the project must be in an repository the server can access so it can clone it. [cancel] [Configure Remotes...]
Clicking either cancel or configure remotes brings up the configure for my folder and I see my remote added just fine. I also tried adding the remote repository again with a different name.
How do I move forward?
It seems like this issue happens when there isn't a remote named "origin", as that's what Xcode is looking for. When I renamed my remote to origin (in <ProjectRoot>/.git/config
), Xcode stopped complaining and let me add a bot through the Xcode UI.
This is hacky, but worked.
In Xcode I clicked the Source Control menu then checkout. I checked out my repository to a new folder and I was able to create my bot.
It seems adding the repository from the command line caused things to not look correctly configured to Xcode.
After numerous trials I did the following steps to get the whole process to work:
- Connect a device to the server. Make sure it is active.
- Set up the server and ensure that the XCode service is active.
- Create a new project with a local GIT.
- In the
Source Control
menu, select Configure
, and under Remotes
select to Create New Remote
.
- Go to
Manage Schemes
and check the Shared
check box.
- Commit the project and select
Push
to master.
- Go to the developer site and create an developer and Ad-Hoc profile.
- Go to the Xcode settings and reload the profiles for the team / developer.
- Configure this profile in the app build settings.
- Select to create a bot with CI to run on commit.
The next time you commit this should run the bot etc.
I had the same issue when I tried to edit a bot that I created before. In my case the problem was that I created the bot for the master branch, but when I tried to edit it, I had checked out a different branch. After switching back to master I was able to successfully edit my bots.
I think I had the easiest time of all. I simply did an Xcode-based commit and push, then tried the bot again, and the nasty error was gone.
[In Xcode 6.4, this would crash the Xcode].