Gitlabのスニペット共有機能
チームで開発をしているとコードのお手本を共有したいときがあります。
例えば、リソース番号を渡すとメッセージを表示してくれる共通ダイアログを作ったとします。
表示するには、「こんな感じで書いてください!」とソースコードを記述します。
今までは、チームミーティングで、説明していたのですが、メンバーが追加されたり、たまたま休みだったメンバーが居ると共有というのは、なかなかスムーズには行かないのですが、情報が積層されていくと保守段階でも備忘録として助かります。
JenkinsとGitlab
うちの会社でもJenkinsという継続的インテグレーションツールについて、興味を持っている社員が増えているようです。
Githubでは、Web連携機能を使って、別サーバーのJenkinsを動作させることができるようです。
少し調べてみたのですが、残念ながら今のバージョンでは、連携は簡単ではないようです。
まず、全プロジェクト共通のユーザーという概念が無いためJenkinsユーザーをプロジェクトへ手動で追加しておかないとJenkinsサーバーが最新ソースを取得できません。
これは、ちょっと面倒です。
そのためGitoliteを直接編集している方もいらっしゃるようです。
GitLabのリポジトリをJenkinsと連動させる
GitlabにもWebフックというWeb連携機能が最近追加されましたので、コミットされたら自動ビルドさせるこも可能だと思われます。
(ちょっと自信ない・・)
コミット履歴の差分表示にコメントを追記
今一番便利だと思って使っている機能の筆頭は、このコメント追記機能です。
Githubにもありますので、Gitlab固有の機能って訳ではないですが、他のツールでは見たことのなかった便利な機能です。
何が便利かというとソースコードレビューが、Web上で行えるんです。
レビューして貰いたいソースコードがあるメンバーは、PLに対して、マージリクエストを登録します。
これは、リモートリポジトリの開発ブランチにある特定のコミットを(例えば)masterブランチへマージして欲しいという要望という意味です。
PLは、マージリクエストのあったブランチの内容をWeb上で確認します。
懸念点や修正点、疑問点などをコミット履歴のソースコード上に、どんどん記述していきます。
もちろんPL以外のメンバーも記入できますし、疑問点に対する回答も記入できます。
それらは、メールとしてもチームメンバーへ通知されますので、見落とす心配もありません。
PLが納得するコミットになったらマージ作業をPLが行います。
PLがレビューを通したコードでないとmasterへマージさせないというルールにしたらソースコードの品質が飛躍的に高まると思いませんか?
もちろん、うちの会社では、全然徹底できてませんw
ディスカッションで、コメントを付けるだけではなくて、「このコードはいいぞ!」という意思を「+1」とかできると
いいんですけどね。
そして、+1された数がアカウント毎に集計されて見えたら・・・要望だしてみようかな。