gitlab-ceとXcodeとの連携に手こずった話

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のどこに入れるんだろう?

タイトルとURLをコピーしました