GitLabの2019年を振り返る〜2億6800万ドルの資金調達・追加された新機能・世界の注目度合い〜

2019 年における GitLab はどのような 1 年だったのでしょうか。2019 年の GitLab アップデート情報や 1 年間の動向を振り返ってみたいと思います。

この記事は [GitLab Advent Calendar 2019](https://qiita.com/advent-calendar/2019/gitlab) の 25 日目の記事です。

# 2 億 6800 万ドルの資金調達

2019 年 9 月に 2 億 6800 万ドルのシリーズ E ラウンドの資金調達をしたことを発表しました。今年 1 番の GitLab に関するビッグニュースだったのではないでしょうか。2014 年の正式リリースからおよそ 6 年でこの規模の資金調達、まさに飛ぶ鳥を落とす勢いですね。

市場により速くより安全にプロダクトの価値を届けるための DevOps プラットフォーム、GitLab を提供している GitLab 社ですが、自身がそれを体現できているのが説得力があります。

参考：[Announcing $268 million in Series E funding](https://about.gitlab.com/blog/2019/09/17/gitlab-series-e-funding/)

上記の記事は、クリエーションラインさんが日本語翻訳記事を投稿していますので興味がある方はこちらもぜひ。

参考：[GitLab 2 億 6800 万ドルの資金調達](https://www.creationline.com/lab/29915)

# 追加された新機能たち

次に 2019 年に発表された GitLab の新機能を振り返ってみます。GitLab は 毎月 22 日、1 ヶ月に 1 度の頻度でマイナーバージョン以上のアップグレードが発表されます。今年は 1 月の 11.7 から始まり、一度のメジャーアップグレードを挟み、12 月に 12.6 が発表されるまで 12 回のリリースが行われました。

1 ヶ月に 1 度のリリースサイクルは OSS の中でもかなり高頻度で、 CNCF が発表した " [The 30 Highest Velocity Open Source Projects](https://www.cncf.io/blog/2017/06/05/30-highest-velocity-open-source-projects/) " にノミネートされるほどです。

目まぐるしく追加される新機能ですが、今回は GitLab Free（GitLab.com の無料プラン）および、GitLab Core（Self-Managed の無料プラン）に追加された機能を特にピックアップしてみました。

それでは 2019 年の新機能を振り返ってみましょう。

## [Easily create and deploy to an EKS cluster](https://about.gitlab.com/blog/2019/11/22/gitlab-12-5-released/#easily-create-and-deploy-to-an-eks-cluster)

AWS re:Invent 2019 で [EKS on Fargate](https://aws.amazon.com/blogs/aws/amazon-eks-on-aws-fargate-now-generally-available/) が発表され、コンテナの運用がより楽になった EKS ですが、GitLab と統合することでさらに運用負荷を下げることができるかもしれません。この発表で、EKS のクラスターの作成や展開が容易になりました。また、GitLab は GKE との統合がすでにあるため、GitLab で同じ一貫性のあるワークフローを維持しながら他のクラウドベンダーを利用することもできます。つまり、マルチクラウド戦略を立てやすくなりました。

## [Visual Reviews](https://about.gitlab.com/blog/2019/06/22/gitlab-12-0-released/#visual-reviews)

[Review Apps](https://about.gitlab.com/product/review-apps/) にさらに強力な機能が追加されました。Review Apps とは、MR を作成するとそのテスト環境が自動生成されるという機能です。自動生成されたテスト環境は QA で利用したりプロダクトオーナーやデザイナーのレビューで利用したりできます。Visual Reviews は Review Apps によって自動生成されたテスト環境自体に直接フィードバックをすることができる機能です。この機能を利用することでさらに高速なフィードバックサイクルを回すことができます。

![visual-review-apps.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/160547/94e7b6ca-7641-bd55-a6b7-0e05e2b0d950.png)

## [Project Security Grades](https://about.gitlab.com/blog/2019/12/22/gitlab-12-6-released/#quickly-understand-your-at-risk-projects-with-project-security-grades)

プロジェクトで検出された脆弱性を可視化してくれる機能です。未解決の脆弱性がないもの（グレード A）から少なくとも 1 つのクリティカル（グレード F）があるプロジェクトをグループセキュリティダッシュボードから確認することができます。

<img width="259" alt="Screen Shot 0001-12-25 at 23.43.52.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/160547/a418b400-4aaa-e364-c849-1e56ed023cd3.png">

## [Project dependency list](https://about.gitlab.com/blog/2019/06/22/gitlab-12-0-released/#project-dependency-list)

プロジェクトの依存関係リストを簡単に確認することができる機能です。Project Security Grades と合わせて利用することでより盤石なセキュリティ対策になりそうです。

![dependency-list.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/160547/b297ef8a-6135-cc97-4c9d-1e065c49d88b.png)

## [Directed Acyclic Graphs (DAG) for GitLab Pipelines](https://about.gitlab.com/blog/2019/08/22/gitlab-12-2-released/#directed-acyclic-graphs-dag-for-gitlab-pipelines)

GitLab Pipelines に強力な機能が追加されました。この機能を利用することでより柔軟で高度なパイプラインを設計することができます。

具体的には、 `.gitlab-ci.yml` 内のジョブ間の関係を定義するための `needs` キーワードが追加されました。 needs キーワードを利用すると、1 つのジョブを別のジョブの前提条件として指定できます。前提条件のジョブが正常に完了すると、次の段階でそれに依存するジョブは、前の段階の他のジョブが完了するのを待たずにすぐに開始されるようになります。

![directed-acyclic-graph.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/160547/3280f967-3280-34c7-854f-3521673760a1.png)

## [Access Control for Pages](https://about.gitlab.com/blog/2019/10/22/gitlab-12-4-released/#access-control-for-pages-is-now-enabled-on-gitlabcom)

個人的に待ち望んでいた機能だったのですが、GitLab Pages のアクセス制御ができるようになりました。これによりプライベートプロジェクトによって公開されたコンテンツでは、公開サイトのコンテンツを保護するためにサインインが必要になり、内部ドキュメントへのアクセスを公開および制御しやすくなりました。

![gitlab_pages_access.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/160547/04314f8e-6172-1d0f-a2d6-f6e7c8a188c1.png)

## [Suggest changes to multiple lines](https://about.gitlab.com/blog/2019/04/22/gitlab-11-10-released/#suggest-changes-to-multiple-lines)

Suggest changes が複数行でできるようになりました。Suggest changes は一言でいうと、レビューと修正がブラウザで完結しちゃう機能です。具体的には、

1. レビュワーはソースコードに対して変更の提案ができる
2. デベロッパーは提案を Apply できる

ということができます。今までは単一行でしかできなかったのでより便利な形で生まれ変わりました。

詳細：[GitLab 11.6 の新機能「Suggest Changes」が便利なのでオススメ](https://jumpyoshim.hatenablog.com/entry/gitlab-11-6-new-feature-suggest-changes-is-useful)

## [Move ChatOps to Core](https://about.gitlab.com/blog/2019/03/22/gitlab-11-9-released/#move-chatops-to-core)

GitLab ChatOps は任意のジョブを Slack のスラッシュコマンドから実行する機能です。無料プランで利用できるようになりました。GitLab ChatOps を利用すれば、SQL 実行やサーバー情報のグラフ可視化などを Slack のスラッシュコマンドから実行できます。

<img width="563" alt="chatops.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/160547/03ce6e96-fa97-684f-0064-1bbac7eb6147.png">


# 世界の注目度合い

いい見出しが考えつかなくて歪なタイトルになってしまいましたが、GitLab は 2019 年デベロッパーからどのような評価を受けてきたのかという観点で振り返ってみます。

まずは、 JetBrains 社 が発表した " [The State of Developer Ecosystem 2019](https://www.jetbrains.com/lp/devecosystem-2019/) " です。このレポートでは、バージョン管理システムの採用に関しての項目があり以下のような結果となっています。

<img width="495" alt="Screen Shot 0001-12-25 at 23.47.21.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/160547/0f1ed48c-c473-f905-990c-984b7e59e922.png">

出典：[I Don’t Git It: Tracking the Source Collaboration Market](https://thenewstack.io/i-dont-git-it-tracking-the-source-collaboration-market/)

GitHub のシェア 1 位は変わりませんが、2018 年から 2019 年で GitLab のみがシェアを伸ばしていることがわかります。

![yoy-adoption-vcs-2018-2019.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/160547/ab97cc7a-23d4-7730-01fa-afeb10b82034.png)

出典：[Is it any good?](https://about.gitlab.com/is-it-any-good/#gitlab-has-yoy-growth-in-adoption-of-version-control-services-study-while-github-and-bitbucket-both-decline)

さらに、Axosoft 社による " [Top 20 Dev Tools for 2019](https://blog.axosoft.com/top-developer-tools-2019/) " では、GitLab が前年から 4 つ順位をあげ、第 8 位にランクインしています。

![Screen Shot 0001-12-25 at 3.50.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/160547/3229792c-a5e7-6edb-e984-0eaaeb94bf38.png)

# さいごに

様々な観点で 2019 年の GitLab を振り返ってみました。こんなことあったなくらいに楽しめていただけたなら幸いです。もしここにないニュースがあれば教えてください！

2019 年も かなり GitLab の勢いを感じました。引き続き注目していきたいサービスです。