##コードレビュー
今回の記事で言うところのコードレビューというのは
下記記事に列挙されたフローのことです。
>>>引用
①[ 開発者 ] 作業対象のソースを clone または pull します。
②[ 開発者 ] 作業用のブランチを作成します。
③[ 開発者 ] 機能追加、改修といった開発作業を行います。
④[ 開発者 ] 作業が完了したら push します。
⑤[ 開発者 ] プルリクエストを作成します。
⑥[ レビュー・マージ担当者 ] 通知されたプルリクエストから変更を確認しレビューします。
⑦[ レビュー・マージ担当者 ] レビュー結果を判断し、必要ならば開発者にフィードバックします。
⑧[ レビュー・マージ担当者 ] レビューの結果、問題がない場合はマージします。
⑨[ レビュー・マージ担当者 ] レビューの結果、対応自体が不要となるなど、プルリクエスト自体が必要ない場合はクローズします。
引用元のサイトではGitHub
とBacklog
に沿った手順が挙がっていたので
GitLab
バージョンを試してメモします。
##Git Bash
下記リンクの手順通りです。
だいぶ前に入れたので今も同じ手順かどうかは確認してません。
【参考リンク】:自分用 Git For Windowsのインストール手順
##GitLab
GitHubとなんかいろいろと違うらしいんですが、ここではあまり関係ないので触れません。
【参考リンク】:GitLabに触ってみて、GitHubと比較した
###登録
登録はここから→GitLab
右上のRegisterからアカウント作成します。
###プロジェクト作成
これでプロジェクトが完成しました。
プロジェクトと言いながらリポジトリも勝手に作られていました。
GitHubのリポジトリとそっくりですね。
##Clone...の前に
GitLab上のリポジトリをローカルにコピーします。
ただその前に、今回はSSH接続の処理をしていきます。
###SSH接続
https
だとうまくいかなかったのでSSH接続の準備をします。
どちらにせよ、SSH接続は運用上必要だと思うので、設定しておいて損はないと思います。
GitLab
×SSH
接続の記事は山のように出てきますが、
OSがWindowsで、加えて細かい設定の方法となると
MacやLinuxに情報が偏っている分、情報を見つけるまでに時間を要しました。
MacやLinuxだと今回とはまた別の方法で行う必要があるのでしょうが、
その時にまた詰まったらメモを残すとして、
今回はWindowsでしんどかったところのメモとします。
####SSH Key作成
PuTTYを使って作成する方法もあるみたいですが、今回はせっかくなので
Git Bash上で作成していきます。
ディレクトリを指定して作成しても良いですが、
cd
で保存先のディレクトリに移動しておきます。
cd "クローンを保存したいディレクトリ"
移動したディレクトリに鍵を作ります。
ssh-keygen -t rsa -f お好きなキーの名前
2019/12/08 追記
下記の方が良いみたいです。
メールアドレスをコメントに追加しないとエラーが出るという記事が多数ありましたので一応メモ。
ssh-keygen -t rsa -C "your.email@example.com" -b 4096
上記のコマンド入力後、思考停止でエンターキーを連打しておけば
C:\Users\ユーザー名\.ssh
の中に公開鍵と秘密鍵ができあがるはずです。
自分で指定したディレクトリに鍵を作成すると毎回【リンク先】の手順を
Git Bashを立ち上げる度に行わなくてはいけません。
その毎回行う手順をなくすにもまためんどうな手順があるので
デフォルトの生成先に委ねた方が楽です。
【参考リンク】:GitLabへ公開鍵を登録したい
今回、キーの名前はgitlab_rsa
にしました。
成功した場合、下記のように公開鍵(pubの方)と秘密鍵が作成されます。
好きなテキストエディタで公開鍵を全文コピーします。
####GitLabのSSH Keys
右上の自分のアカウントのアイコンを選択し、
Settings
に移動します。
左下のSSH Keys
を選ぶと入力画面が出てくるので、先程コピーした公開鍵を貼り付けます。
これでOK!かと思ったんですが、ダメでした。
####秘密鍵の設定
ここまでの設定でクローンを実行した場合、下記画像のようなエラーが出てしまいます。
どうやら、秘密鍵を紐づける?設定が必要のようです。
下記コマンドで秘密鍵の設定が可能!みたいなの記事あったので試しましたが
Windowsではダメでした。
ssh-add "秘密鍵の保存先のpath"
なんのことかよくわかりませんが、
下記を実行しとけば上記のコマンドが通るようになるそうです。
eval `ssh-agent`
【参考リンク】:ssh-addできなかったときへの対処
####いよいよClone!
これでようやくCloneできるようになりました。
git clone クローンするリポジトリのSSH版URL "クローンを保存したいディレクトリ"
##まとめ
ようやく準備が整いました。。。
①[ 開発者 ] 作業対象のソースを clone または pull します。
なんと今回できたのは上記の箇所だけです。
次回は一気に進めたい。。。
書きました~
→【Git】GitLabで1人コードレビューごっこしてみた②(branch作成からMergeRequestまで)
##参考リンク
GitLabにSSHで接続するまでの手順