【Git】GitLabで1人コードレビューごっこしてみた①(GitLab登録からCloneまで)


コードレビュー

今回の記事で言うところのコードレビューというのは
下記記事に列挙されたフローのことです。

プルリクエストを使った開発プロセス

>>>引用

①[ 開発者 ] 作業対象のソースを clone または pull します。
②[ 開発者 ] 作業用のブランチを作成します。
③[ 開発者 ] 機能追加、改修といった開発作業を行います。
④[ 開発者 ] 作業が完了したら push します。
⑤[ 開発者 ] プルリクエストを作成します。
⑥[ レビュー・マージ担当者 ] 通知されたプルリクエストから変更を確認しレビューします。
⑦[ レビュー・マージ担当者 ] レビュー結果を判断し、必要ならば開発者にフィードバックします。
⑧[ レビュー・マージ担当者 ] レビューの結果、問題がない場合はマージします。
⑨[ レビュー・マージ担当者 ] レビューの結果、対応自体が不要となるなど、プルリクエスト自体が必要ない場合はクローズします。

引用元のサイトではGitHubBacklogに沿った手順が挙がっていたので
GitLabバージョンを試してメモします。

Git Bash

下記リンクの手順通りです。
だいぶ前に入れたので今も同じ手順かどうかは確認してません。

【参考リンク】:自分用 Git For Windowsのインストール手順

GitLab

GitHubとなんかいろいろと違うらしいんですが、ここではあまり関係ないので触れません。
【参考リンク】:GitLabに触ってみて、GitHubと比較した

登録

登録はここから→GitLab

右上のRegisterからアカウント作成します。

プロジェクト作成

Create a projectして次に進みます。

名前等を入力してCreate projectします。

これでプロジェクトが完成しました。
プロジェクトと言いながらリポジトリも勝手に作られていました。
GitHubのリポジトリとそっくりですね。

Clone...の前に

GitLab上のリポジトリをローカルにコピーします。
ただその前に、今回はSSH接続の処理をしていきます。

SSH接続

httpsだとうまくいかなかったのでSSH接続の準備をします。
どちらにせよ、SSH接続は運用上必要だと思うので、設定しておいて損はないと思います。

GitLab×SSH接続の記事は山のように出てきますが、
OSがWindowsで、加えて細かい設定の方法となると
MacやLinuxに情報が偏っている分、情報を見つけるまでに時間を要しました。

MacやLinuxだと今回とはまた別の方法で行う必要があるのでしょうが、
その時にまた詰まったらメモを残すとして、
今回はWindowsでしんどかったところのメモとします。

SSH Key作成

PuTTYを使って作成する方法もあるみたいですが、今回はせっかくなので
Git Bash上で作成していきます。

ディレクトリを指定して作成しても良いですが、
cdで保存先のディレクトリに移動しておきます。

GitBashで実行
cd "クローンを保存したいディレクトリ"

移動したディレクトリに鍵を作ります。

GitBashで実行
ssh-keygen -t rsa -f お好きなキーの名前

2019/12/08 追記

下記の方が良いみたいです。
メールアドレスをコメントに追加しないとエラーが出るという記事が多数ありましたので一応メモ。

GitBashで実行
ssh-keygen -t rsa -C "[email protected]" -b 4096

上記のコマンド入力後、思考停止でエンターキーを連打しておけば
C:\Users\ユーザー名\.sshの中に公開鍵と秘密鍵ができあがるはずです。
自分で指定したディレクトリに鍵を作成すると毎回【リンク先】の手順を
Git Bashを立ち上げる度に行わなくてはいけません。

その毎回行う手順をなくすにもまためんどうな手順があるので
デフォルトの生成先に委ねた方が楽です。

【参考リンク】:GitLabへ公開鍵を登録したい


今回、キーの名前はgitlab_rsaにしました。
成功した場合、下記のように公開鍵(pubの方)と秘密鍵が作成されます。

好きなテキストエディタで公開鍵を全文コピーします。

GitLabのSSH Keys

右上の自分のアカウントのアイコンを選択し、
Settingsに移動します。

左下のSSH Keysを選ぶと入力画面が出てくるので、先程コピーした公開鍵を貼り付けます。

これでOK!かと思ったんですが、ダメでした。

秘密鍵の設定

ここまでの設定でクローンを実行した場合、下記画像のようなエラーが出てしまいます。

どうやら、秘密鍵を紐づける?設定が必要のようです。
下記コマンドで秘密鍵の設定が可能!みたいなの記事あったので試しましたが
Windowsではダメでした。

ssh-add "秘密鍵の保存先のpath"

なんのことかよくわかりませんが、
下記を実行しとけば上記のコマンドが通るようになるそうです。

GitBashで実行
eval `ssh-agent`

【参考リンク】:ssh-addできなかったときへの対処

いよいよClone!

これでようやくCloneできるようになりました。

GitBashで実行
git clone クローンするリポジトリのSSH版URL "クローンを保存したいディレクトリ"

まとめ

ようやく準備が整いました。。。

①[ 開発者 ] 作業対象のソースを clone または pull します。

なんと今回できたのは上記の箇所だけです。
次回は一気に進めたい。。。

書きました~
【Git】GitLabで1人コードレビューごっこしてみた②(branch作成からMergeRequestまで)

参考リンク

GitLabにSSHで接続するまでの手順