新春特別企画

GitLabのこれまでとこれから

この記事を読むのに必要な時間:およそ 3 分

最近の動向

GitLab社は最近,Conversational Development(以下ConvDev)という 新しいソフトウェア開発スタイルを提案しています。ソフトウェア開発にConvDevを適用することで,アイディアを製品にするまでの開発サイクルをより短くできると,GitLab社は説明しています。GitLabとConvDevの関係に興味がある方は,masakuraさんが説明している記事GitLab社が作成したデモ動画も参照してください。

GitLabは,このConvDevを一つの統合されたインターフェースで提供することを目標に開発が進められています。例えば,昨年の12月22日にリリースされたGitLab 8.15で追加された 「Auto Deploy」「Web Terminal」はConvDevをサポートするための機能です。

「Auto Deploy」は,GitLabに統合されている継続的インテグレーションと継続的デリバリーのパイプライン機構を利用して,コンテナスケジューラへ自動デプロイします。コンテナスケジューラの環境を事前に準備する必要があるので簡単に試せる機能ではありませんが,環境さえあれば比較的簡単に,GitLabからコンテナスケジューラへの自動デプロイが可能になります。さらに「Auto Deploy」を有効にすることで,Review Appsの機能も有効になるため,マージリクエストのマージ前に,一時的なコンテナを起動してアプリをレビューすることもできます。

「Web Terminal」は,コンテナスケジューラへデプロイしたコンテナに,ブラウザから簡単にターミナル接続する機能で,コンテナ内での調査やデバッグ作業などを効率的に行うことができます。

現在,「Auto Deploy」がサポートするコンテナスケジューラはOpenShiftのみですが,今後,他のコンテナスケジューラやクラウドプラットフォームもサポートされる予定です。

今後の方向性

GitLabの今後の方向性についてはDirectionページに記載されていますが,GitLabの計画は非常に流動的なため,あくまでも参考程度に見たほうがよいでしょう。

実装されるかは分かりませんが,Directionページの中で筆者が注目している機能を一つだけ紹介します。それは,コードレビューの「View and add comments on previous commits in image file view」機能です。この機能を簡単に説明すると,マージリクエストでコードの指摘箇所にコメントできるのと同じように,画像の指摘箇所にもコメントできるようにする機能です。この機能が実装されることで,プログラマーだけでなくデザイナーにとっても,GitLabが非常に有用なツールなるのではないかと期待しています。

また,今年の4月には,約1年半振りにメジャーバージョンを繰り上げる,GitLab 9.0のリリースが予定されています。GitLab 9.0では,APIの破壊的な変更やGroupの階層機能の追加など,大規模な変更が入る予定であり,計画通りにリリースされるか注目したいと思います。

まとめ

GitLabはここ1年で大きく進歩しており,以前と比較して格段に使い勝手が良くなっています。また,Omnibus Packageの登場により,以前は大変だったインストールやアップデートの作業もかなり楽になっています。数年前にGitLabに挑戦して挫折したような方は,是非,もう一度GitLabを試してみてください。きっと,GitLabのあまりの変化に驚くことでしょう。

本稿ではあまり触れませんでしたが,GitLabの継続的インテグレーション機能はコンテナとの親和性が非常に高く,運用も比較的容易です。そのため,オンプレミスのCIサーバーとして現在主流のJenkinsに取って代わるポテンシャルを感じさせます。この継続的インテグレーション機能を利用するためだけでも,GitLabを使用する価値はあると思います。

今年もGitLabの進歩から目を離せない1年となりそうです。それでは,今年もよろしくお願いします。

著者プロフィール

佐藤洋行(さとうひろゆき)

株式会社Ruby開発所属。ソフトウェアエンジニアとして,主にRuby On Railsを使用したWebサービスの受託開発に従事している。現在,GitLabの導入支援を会社のサービスとして提供できないか模索している。趣味ではGitLabにコントリビュートしており,GitLab 5.1のリリース時にはMVPにも選ばれた。

Twitter:@hiroponz79
GitLab:hiroponz

コメント

コメントの記入