Attention! Translated article might be found on my English blog.

2017年10月11日水曜日

[解決]Xcode 9.0でMac mini上にXcode Serverを立てられなかった

NOTEEnglish article is available.

-- 追記 2017/12/10 --
"/Library/Developer/XcodeServer"を削除してからためしたところ、エラーなくXcode Serverをセットアップすることができました。
詳細はxcode9 - Xcode 9 enable Server fails because "xcsd" keychain password - Stack Overflowを参照してください。
(Keychain Access.appでxscdを削除する方法はこちらの環境ではうまくいきませんでした)

英語版の記事のコメントで上記URLを教えてくれた名無しさんに感謝します。
-- 追記終了--

CI用に使っていたMacminiにmacOS 10.13とXcode 9.0を入れ、Xcode Serverの設定をしようとしたところ、
xcsreciperunnerは、キーチェーンに含まれるキー"Xcode Server Root Certificate Authority"を使用して署名しようとしています。
という表示が出て、
xcsdというユーザのパスワードを求められました。


管理者用パスワードもXcode 8でCI用に使っていたユーザのパスワードも通らず、
よくわからんので「拒否」を選択しました。
するとユーザがキャンセルした旨を示すエラーが表示されました。




その後、再度Xcode ServerをONにしようとしたところ、
今度はパスワード入力ダイアログは表示されず、

Could not create client certificate authority: Error Domain=Security Code=-25293 "The user name or passphrase you entered is not correct." UserInfo={NSLocalizedDescription=The user name or passphrase you entered is not correct.}

というエラーが即表示されました。




マシンを再起動してからXcode ServerをONにすると再びパスワード入力ダイアログ表示に戻りました。
結局パスワードが分からないので、このマシンでのCIは諦めることにしました。

その後、開発用のMacbookでは特に問題なくXcode Serverを立てることができました。
"xcsreciperunner"や"xcsd"でネットを検索しても、それらしい解決方法は出てきませんでしたので、環境に依存するエラーなのかもしれません。

ちなみに、上記手順を行なった後、Keychain Access.appには
"xcsd"という項目が勝手に追加されていました。


今後、どうしてもMac mini上でCIが必要になった場合は
システムをクリーンインストールし直そうと思います。