プチ技術メモ

技術系の情報を中心に適当に書いています

【PR】GitLab 10.0のMVPに選ばれました

この度、GitLab 10.0のMVPに選ばれました。なお、GitLab 5.1の時もMVPに選ばれたので、今回で二回目の受賞となります。 この機会にGitLabのMVPについて少し詳しく解説します。

GitLabとは何か?

GitLabは、GitLab社により開発されているプロジェクト管理とGitリポジトリ管理のためのアプリケーションですが、近年はCI/CD機能などソフトウェア開発に必要な様々な機能の統合が進められています。

最新の10.0では、ベータ版ではありますが、ソフトウェアのアイディアを実装し、本番環境にデプロイして、モニタリングするまでの流れを自動化する”Auto DevOps”機能がリリースされています。興味のある方は、10.0のリリースページのデモ動画を見るとイメージがつかめるので、視聴をオススメします。

GitLabについてより詳しく知りたい場合は、私が寄稿した「GitLabのこれまでとこれから」も参照して頂ければと思います。なお、記事中に記載されている「GitHost.io」ですが現在は新規の受付を停止しているのでご注意下さい。

MVPとは何か?

GitLabは、初期の頃から毎月22日に新バージョンをリリースするというサイクルを守っています。

MVPは、2013年3月22日にリリースされたバージョン5.0から開始された、新バージョンのリリースに最も貢献したコミュニティメンバー(GitLab社の社員を除く)を表彰する制度です。基本的には、毎月一人がMVPに選ばれますが、複数人の貢献に甲乙をつけがたい場合などは複数人のMVPが選ばれることもあるようです。

MVPの報奨が気になる方もいるかと思いますが、賞品や賞金などの直接的なものはありません。基本的には、GitLabの公式ブログMVP受賞者履歴のページに名前が載るという二点となります。

貢献とは何か?

GitLabに貢献すると言われても、ピンと来ない人もいると思います。主な例を挙げると以下のような貢献方法があります。

上記の貢献方法以外にもGitLabの不具合の報告や改善案の提案なども、貢献方法の一つですが、それだけではMVPに選ばれることは無いようです。 実際にGitLabに貢献を行う際は、詳細なガイドライン(英語)があるので、最初にそちらを確認することを推奨します。

役立つスキル/知識

GitLabへの貢献に役立つ主なスキルや知識を紹介します。

Ruby on Rails

GitLabは一部を除いてモノリスRailsアプリケーションとして開発されているので、Railsの知識はほぼ必須です。

ES2015

GitLabのフロントエンドのJavaScriptはES2015で書かれています。フロントエンドの修正には、ほぼ必須の知識です。また、Issue Boardなど一部の機能ではVue.jsが使用されているので、Vue.jsの知識があると役に立ちます。

Go

GitLabでパフォーマンスが必要な一部の機能はマイクロサービス化されて、Goで書かれています。また、GitLab CIの実行環境にインストールするGitLab RunnerもGoで書かれています。

Git

Gitの使い方以外にも、Pro GitGitの内側に書かれているようなGitの内部構造に関する知識があると役に立ちます。

貢献対象の見つけ方

GitLabに貢献しようと思っても、最初は何をすれば良いか分からないと思います。そこで、簡単な貢献対象の見つけ方を紹介します。

GitLabの開発に関する課題(不具合や要望など)は全て公開されているので、その中から自分が興味のあるものを見つけて取り組むのが良いです。ただし、GitLabには膨大な件数の課題が登録されているので、その中から取り組むべき課題を見つけるのも大変な作業です。

そこで役に立つのが、ラベルでの絞り込みと人気順での並べ替えです。GitLabではコミュニティからの貢献を期待している課題に対して”Accepting Merge Requests”とラベル付けされています。また、GitLabには課題に対して人気投票する機能があり、人気順に課題を並べ替えることができます。

とりあえず、コミュニティからの貢献が期待されていて、人気の高い課題を確認したい場合はこちらのリンクを利用して下さい。

必要な英語力

GitLabに貢献する際のやり取りは英語でする必要がありますが、英語を母語としない国からの貢献も積極的に取り入れる方針のため、英語に自信が無くてもあまり心配する必要はありません。間違った英語でも、大抵の場合は向こうが察してくれます。

私も英語には自信がありませんが、高校レベルの英語とGoogle翻訳Weblioを駆使して何とかなっています。

宣伝

私が管理者を務めているGitLab.JPでは、GitLabに関するイベントを不定期に開催しています。また、GitLab日本コミュニティのSlackもあるので興味のある方は是非ご参加下さい。

私が所属する(株)Ruby開発では、GitLabのサポートサービスの提供を開始しました。詳細は会社ホームページよりお問い合わせ下さい。