LAN内で稼働している自己証明(いわゆるオレオレ証明書)でhttps化しているgitlab-ceとXcodeの連携に手こずったので、行ったことをメモ書き。
gitla-ce側で行う作業
gitlab-ceでアクセストークン新規作成
gitlab-ceログイン後、画面右上の自身のアイコンをクリック -> 設定 -> アクセストークン
パーソナルアクセストークンの画面から、新しいトークンを追加をクリック
トークン名にXcode
有効期限はxをクリックして無期限に
スコープは以下をチェック
api, read_api, read_user, read_repository, write_repository
パーソナルアクセストークンを作成をクリック
画面が切り替わって、あなたの新しいパーソナルアクセストークン右側の[クリックして表示]をクリックするとパーソナルアクセストークンが表示される。隣の[パーソナルアクセストークンをコピー]をクリックしてpagesなどにペーストしておく。
Xcodeを動かすMac側で行う作業
Mac側で行う作業
gitlab-ceが稼働しているサーバーから、/etc/gitlab/gitlab.rb中、nginx[‘ssl_certificate’]で指定している.crtファイルをXcodeを動かすMacへコピーする。
Macで.gitconfigを編集
[http]にsslCAInfo = /path/to/*.crtを追加する。
cd
nano .gitconfig
[http]
・・・
sslCAInfo = /path/to/*.crt
Macのキーチェーンへgitlab-ceのアカウントとパスワード登録
Xcodeを動かすMacのターミナルで以下のコマンドを実行する。
gitlab-ceに登録しているアカウントとそのパスワードを、初回入力時キーチェーンに登録されるようになる。
git config --global credential.helper osxkeychain
Macのターミナルからhttpsでクローンできるか確認する。
Xcodeでの作業
リポジトリ登録
Xcodeでプロジェクトを開いて、Xcode左上の[Show The Source Control Navigator]をクリック
[Repositories]をクリック
画面左側メニュー中、[Remotes]を右クリック
サブメニュー中、[Add Existing Remote…]をクリック
[Remote Name:]には[origin]が入力済み
[Location:]にgitlab-ceの画面右側にあるプロジェクトの[コード] -> [HTTPSでクローン]でコピーしたURLを入力する
XcodeからCommitやPush
Xcodeのツールバー -> Integrate からCommitやPushなどを行える
・・・アクセストークン、Xcodeのどこに入れるんだろう?