2018年12月13日 - Hiroyuki Sato     (原文)
11.5

GitLab 11.5がリリース、グループセキュリティ、および運用ダッシュボードやPagesのアクセスコントロール

GitLab 11.5がリリースされました。グループセキュリティ、および運用ダッシュボードの追加やGitLab PagesのアクセスコントロールやKubernetes用のKnativeサポートなど様々な点が改善されています。

セキュリティチーム用のダッシュボード

長い間、GitLabは開発者がコードをよりセキュアにするために使用されてきました。 しかしこれからは、セキュリティチームがアプリケーションのセキュリティを高め、コンプライアンスの遵守を徹底するためにも利用できます。 11.5では、セキュリティ要員にとって必要な情報がグループセキュリティダッシュボードに集約されます。 これは、最高情報セキュリティ責任者、最高情報責任者、およびセキュリティリーダーにとって特に役立ちます。 グループダッシュボードのデザインが刷新され、複数のプロジェクトにまたがるセキュリティ情報を同時に表示できるようになりました。 これにより、セキュリティの問題を高い視点から俯瞰し、必要に応じて詳細なレポートを表示することができます。 11.5では、静的セキュリティテストの情報を表示することからはじめて、将来的にはより多くのセキュリティ情報をダッシュボードに表示する予定です。

運用チーム用のダッシュボード

セキュリティチーム用のグループキュリティダッシュボードと同様に、運用チーム用の運用ダッシュボードが提供されます。 これはインスタンスレベルのダッシュボードで、パイプラインの実行やアラートの有無など、プロジェクトの運用状況の全体像を提供します。

GitLab Pagesへのアクセスコントロール

GitLab Pagesを使用すると、静的なウェブページを簡単にホストできます。 特に、プロジェクトのドキュメントを共有する場合に便利です。 しかし、プロジェクトメンバーだけで共有したいドキュメントの場合はどうすれば良いでしょうか? これまでは、GitLab Pagesを利用するにはウェブページを全員に公開する必要があり、 それができない場合は、利用をあきらめるしかありませんでした。

GitLab 11.5では、課題やコードと同じように、GitLab Pagesでホストされている静的なウェブページへのアクセスを制御することができます。 権限のないユーザーがページを開くと404(ページが見つかりません)のレスポンスが返されます。 現状では、GitLab PagesへのアクセスコントロールはセルフホストのGitLabでのみ利用可能ですが、 近い将来GitLab.comでも利用可能となる予定です。

この素晴らしい機能が、オープンソースコミュニティから提供されたことを非常に誇らしく思います。 Pagesへのアクセスコントロールはコミュニティからの要望が最も多い機能の一つでしたが、 コミュニティからの貢献によって実現されました。

Kubernetes用のKnative

「サーバーレス」は人気のある、しかし、よく誤解される言葉です。 多くの人がサーバーレスを「サービスとしての関数」やFaaSと同じものと考えていますが、これは正確ではありません。 簡潔に言うと、サーバーレスとはデプロイされているインフラを意識せずに、ソフトウェアを実行可能にするプログラミングのパラダイムです。 したがって、関数に限らずアプリケーションもサーバーレスにすることが可能です。

Knativeは、ビルドやデプロイやモダンなサーバーレスワークロードを管理するためのKubernetesベースのプラットフォームです。 GitLab 11.5では、Knativeを簡単にデプロイしてGitLabと統合できるようになりました。 わずか1クリックで、あなたの接続しているKubernetesクラスタにKnativeをインストールできます。 GitLab 11.5では、あなたのサーバーレスアプリケーションのためにKnativeを使用できるようになりました。 さらに、11.6ではサーバーレス関数への対応が予定されています。

現在のところKnativeはアルファ版ですが、Knativeを使用してアプリケーションをデプロイすることで、いくつかの便利な機能を機能を利用できます。 例えば、Knativeは追加の設定を行わずに、podの自動スケールアップ、およびスケールダウンを管理します。 さらに、Knative組み込みのイベントシステムを利用すると、producerとconsumerのプロセス間通信をより簡単に管理でき、マイクロサービスのデプロイに役立ちます。

その他の改善

このリリースには、その他にも多くの素晴らしい機能が含まれています。 パイプラインを高速化するためのparallel属性課題ボードのカードデザインの変更Jaeger連携のようなワクワクする機能を見逃さないでください。 さらに、マージリクエストで変更のない行へのコメントマージリクエストのレビューのプレビューコード所有者にもとづく承認者の割り当てReview Appのダイレクトリンクによって、 コードレビューがより便利に、大きく改善しています。 ぜひ、このリリースに含まれるすべての機能をご確認ください。

GitLab MVP badge

今月のMVPには Tuomo Ala-Vannesluoma さんが選ばれました

Tumoは、コミュニティからの要望が最も多い機能の一つである、Pagesへのアクセス制御の実装で素晴らしい貢献をしました。 このリリースから、プライベートプロジェクトのPagesのコンテンツへのアクセス制御を実施できます。 これにより、例えば、組織内にホストするウェブページに機密情報を含めることが可能になります。

この機能を実現するために、 gitlab-cegitlab-pages、 およびomnibus-gitlabと 複数のプロジェクトにまたがって、非常に優れた仕事をしました。

GitLab 11.5での主要機能

グループセキュリティダッシュボード

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

セキュリティチームは、責任を持つすべてのプロジェクトのセキュリティの状態を素早く知る必要があります。 それによって、次に取り組むべき作業の優先度を決めることができます。 セキュリティ責任者は、重要なセキュリティの問題を俯瞰的に捉え、 開発全体への影響を考える必要があるので、この機能が特に役に立ちます。

GitLab 11.5では、グループレベルのセキュリティダッシュボードがはじめて追加されました。 ここには、グループ内のすべてのプロジェクトの静的セキュリティテストで見つかった脆弱性が集約して表示されます。 また、問題を解決するために取りうるアクション一覧が表示されます。 例えば、解決策を提案するための課題を作成したり、表示されている脆弱性が明らかに偽陽性の場合は、単純に無視することができます。 将来的に、他のテスト(依存性スキャン、コンテナスキャン、動的セキュリティテスト)にも対応する予定です。

注意 グループセキュリティダッシュボードに結果を表示するためには、 新しいreportsシンタックスを使用し、 GitLab Runner 11.5よりも新しいバージョンを使用する必要があります。 今後のリリースでAuto DevOpsにも対応する予定です。

グループセキュリティダッシュボード

運用ダッシュボード

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

DevOpsを取り入れている組織、より運用を削減しようとしているメンバーがいるチームにとって、組織のプロジェクトが正常に稼働しているかを素早く確認できることは重要となります。 GitLab11.5はユーザが確認したい各プロジェクトの運用に特化した新しいダッシュボードを提供します。 前回のデプロイからの経過時間、最新のコミット、アクティブなアラートがあるかどうかも含まれます。 ダッシュボードはユーザーの優先トップページに設定でき、画面上部のメニューバーの新ダッシュボードのアイコンをクリックすることでもアクセス可能です。

運用ダッシュボード

Pagesのアクセスコントロール

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

バージョン11.5では、素晴らしいコミュニティ貢献による新機能、Pagesへのアクセスコントロール機能が搭載されます。 それにより、プロダクトに関連したコンテンツが公開されているケース以外の、プロジェクトメンバーだけがアクセスすべき 保護されたコンテンツのビルドや公開にPagesを利用できるようになります。 運用ドキュメント、内部機密、プライベートな予定やその他の情報が簡単な方法で自動的に問題なく公開することができ、 そしてその情報を見るべき人のみが見ることができることを保証しています。

この機能はGitLab.comでは現在有効化されていませんが、 #5576 で対応する予定です。

Pagesのアクセスコントロール

GitLabでKnativeのデプロイや統合が簡単に

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

サーバレスアプリケーションをビルドすることで、チームは自分たちの時間を素晴らしいプロダクトを作ることに充てることができ、サーバのプロビジョニング、管理、運用の必要性を解消してくれます。 GitLab 11.5で、すでにあるKubernetesクラスタにクリック一つ(GitLab Kubernetesインテグレーション利用)でKnativeをデプロイすることができます。

KnativeはKubernetesをベースとしたプラットフォームで、モダンなサーバレスワークロードをビルド、デプロイ、管理するためのものです。 ソースからコンテナをビルドする、トラフィックのルーティングや管理、ゼロスケーリング等、かつて困難だったタスクは今や簡単に動作します。

GitLabでKnativeのデプロイや統合が簡単に

コード所有者をベースとした承認者のアサイン

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

マージリクエストのレビューを誰にお願いすればいいかは、常に明確なわけではありません。 コード所有者はファイルの変更に責任を持つチームメンバーであり、 今後、マージリクエストの承認者として自動的に割り当てられます。

コード所有者ベースの承認者自動割り当てによって、コード所有者に対して責任のあるファイルに変更があることを通知し、 彼らがその変更をレビューし、承認することができるようになります。

コード所有者の明示はGitLab 11.3からサポートされています。 今後のリリースで、コード所有者はマージリクエストのワークフローに必須承認機能としてさらに組み込まれる予定です。

コード所有者をベースとした承認者のアサイン

パイプライン高速化のためのparallel属性

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

パイプライン処理のスピードはどのチームにとっても重要な要素です。 ビルド時間の大部分が、テストやその他の並列可能なタスクの実行にかかる傾向があります。

この新しいキーワードにより、チームは簡単にテストを並列実行できるようになり、ソフトウェアのデリバリプロセスを加速できます。 この機能を使うには、いくつのタスクに分けて実行したいかをparallel属性にセットするだけです。 そうすれば、GitLabが自動的にタスクを実行するために適切な数のジョブを作成し、管理します。

パイプライン高速化のための<code>parallel</code>属性

GitLab 11.5でのその他改善点

マージリクエストの未変更な行へのコメント

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

コードレビューの大切な目的は、提案された、変更のまだ考慮されていない点に注意を促すことです。 レビュー中に、関連する未変更のコードに対してもコメントしたい場合がよくあります。 GitLabは今後、マージリクエストの差分で変更した行、変更していない行の両方へのコメントをサポートします。 それにより、まだ変更されていない個所に必要な指摘ができます。

マージリクエストの差分でレビューする際に、(…)ボタンを押して、非表示になっている未変更の行を表示できます。 今後のリリースで、未変更の行に対するコメントのサポートは未変更のファイルにも拡張される予定です。

マージリクエストの未変更な行へのコメント
CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

ブランチで作業中に、少しだけ修正を加えた場合、Review Appのトップページを表示するのは便利ではありません。 これを改良するために、変更したページを直接表示できるように、Review Appのドロップダウンにボタンを追加しました。

Review Appのダイレクトリンク

マージリクエストレビューのプレビューが可能に

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

良いプロジェクトの取り組みとして、コードレビューは必要不可欠なものですが、明確で実用的なフィードバックをすることは、時として難しいことがあります。 具体的な課題は、変更の差分を読み進み、変更の理解が進む前の不完全で的外れなコメントを残さないようにすることです。 このリリースにより、投稿する前にマージリクエストのレビューをプレビューできるようになります。 マージリクエストのレビューは、GitLab 11.4でリリースされ、レビュワーが多くのフィードバックを書き込みできるようになり、一つの動作でそれらをすべて投稿できるようになりました。

今後、この機能を拡張して、マージリクエストのメール通知を一つにまとめるように改良する予定です。

マージリクエストレビューのプレビューが可能に

セキュリティ、品質、パフォーマンスレポートの新CI/CDシンタックス

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLab11.5より以前は、静的セキュリティテストや動的セキュリティなどレポートはシステムが認識できるように、ジョブ名とアーティファクト名の組み合わせに依存していました。 この方法は、グループセキュリティダッシュボードなどの高度な機能をサポートしたり、対象を増やしたりする場合に、アーティファクトへアクセスするためのパフォーマンスへの影響を考えると、最適ではありませんでした。 従来のシンタックスでは、sastのように特定のジョブ名を使う必要がありましたが、本リリースからジョブ名をカスタマイズすることができます。

GitLab11.5では、新しいreportシンタックスを利用するために、新しい実装が導入されました。 静的セキュリティテスト動的セキュリティテスト依存性スキャンコンテナスキャンライセンス管理コード品質ブラウザパフォーマンステストで新しいジョブ定義が利用可能です。

これまでのシンタックスは今後のリリースで廃止予定となります。 今までのシンタックスをご利用中でも、グループセキュリティダッシュボードやパフォーマンス向上の利点を享受いただくため、定義をアップグレードすることをお勧めします。 新しいシンタックスはGitLab Runner v11.5以上の利用が必要となります。

Wikiのみのプロジェクトでの空の状態表示

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

Wikiのみ利用しているプロジェクトに関するユーザ体験を向上させ、デフォルトのプロジェクト概要ページがなくても使用可能になりました。 プロジェクトのセットアップ時に空の状態表示がされることにより、ユーザが最初のWikiページを追加する手助けとなり、プロジェクトが良いスタートをきるのに役立つでしょう。

Wikiのみのプロジェクトでの空の状態表示

GitHub連携におけるステータスチェック名の一致

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitHub側でのステータスチェックの設定が可能となりました。「必須」項目の場合でも、名前毎に一つずつ設定する必要がありません。これまでは、チェック名にはブランチ名が含まれていたためこの方法が簡単にはできませんでした。 この機能はGitHub連携の設定で有効にできます。

GitHub連携におけるステータスチェック名の一致

エピックのクローズ通知

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

最近、エピックをクローズする機能をリリースしました。エピックについてオープンとクローズの異なるステータスを持てるようになったということです。 このリリースでは、ユーザが関心のある作業についてよりキャッチアップできるように、エピックのクローズと再開の通知を追加しました。

エピックのクローズ通知

課題やマージリクエスト上でのエピックのオートコンプリート

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

本リリースで、課題やマージリクエストで作業中に、エピックを検索したり、コメントすることがより容易になります。 課題の説明欄やマージリクエストのコメント欄で&と、数文字を入力してみてください。 GitLabのオートコンプリート機能が直属の親グループのエピックを検索し、ユーザはそのページに留まったまま、簡単にプルダウンから対象を選ぶことができます。

課題やマージリクエスト上でのエピックのオートコンプリート

マージリクエスト上のデプロイについての追加情報表示

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

現状、環境情報は新しいパイプライン処理中、非表示となります。 この変更により、GitLabではウィジェットに実行中のデプロイに関する情報を表示できるようにしました。そのため、いまアップデートが走っている、ということがわかるようになります。

今回のリリースで最も素晴らしいことの一つは、現行のデプロイへのリンクが、次のデプロイが実行されても保持される点です。 それにより、ユーザはアプリをレビューするためのリンクを見つけることができます。 多くのデプロイが継続的に実行される場合、以前はどのタイミングが良いのか知ることが難しいケースがありました。

マージリクエスト上のデプロイについての追加情報表示

最後に訪れたボードを自動的に表示

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

課題ボードを使用するチームが増えれば増えるほど、それらをドロップダウンリストに表示してユーザーをナビゲートするのが難しくなってきます。 本リリースにより、割り当てられたプロジェクトやグループのサイドバーメニューからアクセスしたらいつでも、GitLabは自動的に最後に訪れたボードを表示するようになります。 この情報はシステムに保存されているため、異なるブラウザやデバイスからGitLabを利用した場合も、最後に訪問したボードは保存されます。参照した際に保存したURLで特定のボードに直接アクセスすることは今までどおり可能です。 今後予定されている複数ボードの管理に対する計画改善へ、コメントで参加してください。

マイルストーンの変更通知

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLabのマイルストーンはコードのリリースに関わる作業や、タイムボックスの時間枠内に終えてしまわないといけない作業の計画や追跡にとても役立ちます。 マイルストーンの日時は、一般的にチームメンバがお互いに、またステークホルダーとタイムライン上でやりとりしたりする上で重要となります。 ですから、マイルストーンが変更されたら、メンバーがそれを知ることは非常に重要となります。 今回のリリースで、GitLabでは課題やマージリクエスト上のマイルストーンの変更時にメールで通知する機能が追加されました。 そのため、作業の一部が遅れても、前倒しになっても、スコープ外となったとしても、いつでも最新の情報を入手できます。

マイルストーンの変更通知

課題ボードのカードのデザインが変更に

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLabの共同作業のコアは課題ボードです。チームメンバーは作業計画や作業中のタスクを一箇所で閲覧し、変更することができています。 本リリースで、課題カードのデザインを変更し、シンプルで組織的に関連情報を表示するようになりました。 1つのカードに、タイトル、時間管理、機密レベル、ラベル、期日、ウェイト、担当者が表示されます。

課題ボードのカードのデザインが変更に

プロジェクトネームスペース限定のRBACサービスアカウントを作成

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

本番環境や重要なアプリケーションを実行するために、Kubernetesのセキュリティを高めることは非常に重要です。 RBACはあなたのクラスタのセキュリティを高めるのに、強力な力と柔軟性を与えます。

GitLab 11.5から、Kubernetes連携機能によって、それぞれのプロジェクトのネームスペースと紐づく専用のサービスアカウントとロールが作成されます。 このサービスアカウントとロールはCIのジョブで使用されます。 これによって、GitLab CI Runnerとやり取りするのに必要なcluster-adminトークンを使用する必要がなくなります。

APIでGitサブモジュールを更新

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

Gitサブモジュールを使用すると、Gitリポジトリ内に他のGitリポジトリを含めることができます。 今後は、GitLabのAPIでサブモジュールの参照を更新できるようになります。 これは、APIを使用して依存関係の更新を自動化するのに役立ちます。

課題とマージリクエストとエピックのディスカッションアクティビティのデザインを改善

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

このリリースで、課題とマージリクエストとエピックのディスカッションアクティビティのデザインが改善されました。 必要な情報を見つけやすくするために、コメントとシステムノートを区別しやすいようにデザインが変更されました。

課題とマージリクエストとエピックのディスカッションアクティビティのデザインを改善

「グループを作成」ページのデザインを変更

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

このリリースで、「グループを作成」ページのデザインを「プロジェクトを作成」ページのデザインに合わせ、 一貫性のあるデザインとなるようにしました。

「グループを作成」ページのデザインを変更

Gemnasiumの脆弱性の修正情報

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

大多数の言語をサポートするGemnasiumサービスにより、 依存性スキャンが実現されています。 これによって、GitLabはパッケージに存在する既知の脆弱性を検出できますが、 開発者にとって必要な脆弱性の修正情報が不足していました。

GitLab 11.5では、Gemnasiumサービスは利用可能な脆弱性の修正情報を提供します。 この情報は、脆弱性の詳細ウィンドウと関連する課題の中に表示されます。 例えば、脆弱性の修正情報によって、セキュリティの問題を解決するために必要な、ライブラリのアップデートを最小限に抑えることができます。

Gemnasiumの脆弱性の修正情報

GitLab Helm Chartの改善

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLab Runner 11.5

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLab Runner 11.5も同時にリリースされました。 GitLab RunnerはCI/CDのジョブを実行し、その結果をGitLabに返すために使用される、オープンソースプロジェクトです。

注目すべき変更点:

GitLab Runnerのすべての変更はCHANGELOGを参照ください。

Omnibusの改善

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD
  • GitLab 11.5はMattermost 5.4を同梱します。 オープンソースのSlack代替品で、最新版にはユーザーにとって役立ついくつかの機能の追加、新しいデータエクスポートツールの他様々な改善が含まれています。 また、セキュリティアップデートも含まれているので、アップグレードすることを推奨します。
  • GitLabのサービスを起動するグループとして、任意のグループ名を設定できるようになりました。
  • GitLab Omnibusに含まれるGoベースのアプリケーションで、証明書のためにOmnibus GitLab標準のディレクトリを設定できるようになりました。
  • gitlab_pages['max_connections']を使用して、GitLab Pagesへの最大同時接続数を設定できるようになりました。
  • bundlerが1.16.6、unicode-display_widthが1.4.0、gitlab-monitorが2.19.1、およびgitlab-elasticsearch-indexerが0.3.0がアップデートされました。
  • GitLabが使用しているオープンソースライセンスの一覧を読みやすいように改善しました。

グループファイルテンプレート

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

「LICENSE」、「.gitignore」「Dockerfile」「.gitlab-ci.yml」等のファイルテンプレートが 用意されているため、これらのよく使うファイルを簡単にプロジェクトに追加することができています。 今回、グループ向けのテンプレートリポジトリを設定することにより、すべてのグループ及びサブグループ内の全てのプロジェクトで、カスタムファイルテンプレートを共有することができるようになります。 カスタムファイルテンプレートは社内の全プロジェクトで利用する必要のあるカスタムライセンスや、全てのマイクロサービスで利用する必要のある複雑なDockerfileなど、GitLabから提供されているテンプレートが一般的過ぎる場合に有用です。

インスタンスレベルのファイルテンプレートは GitLab 11.3からサポートされています。

グループファイルテンプレート

課題分析

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

本リリースで、この1年間にグループ内で作成された月間課題数を動的に表示するチャートが提供されます。 特定の課題のスコープで絞り込むこともできます。 これにより、チームではより課題について深く分析することができるでしょう。 例えば、Bugラベルを使用して、Bugの課題がいくつ作成されたかをサッと調べることができるようになります。

今後の計画は チャート機能の拡張で確認できます。 どうぞ、ディスカッションに参加してください。

課題分析

メールアドレスの秘匿

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

誰があなたのプロジェクトに貢献してくれているのかを知ることは大切であり、GitLabのウェブインターフェースやローカルのgit環境、どこかのサーバ上にforkしたコンテンツ上でコミットしてくれたユーザを調べることができます。しかし、あなたのメールアドレスが公になってしまいます。 GitLabはローカル環境でもウェブ上でも利用できる送信専用のメールアドレスの提供を開始します。それにより、自分のメールアドレスを公にしなくてもよくなります。

メールアドレスの秘匿

パッチファイル添付メールでマージリクエストを作成

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLabはメールでのマージリクエストの作成を以前よりサポートしていますが、メールを送信する前にブランチがサーバー上に存在している必要がありました。 今後は、メールにパッチファイル(拡張子.patch)を添付するだけで、マージリクエストを開始することができるようになります。 パッチファイルはシステム間で変更の共有や伝達をするうえでスタンダードなものです。 GitLabの今後のリリースで、GitLabインスタンスと他のGitツールとの間でマージリクエストができるように分散型マージリクエストを追加していく予定です。

GitLabからJaegerを開く

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

リクエストを処理している各ファンクションやマイクロサービスを追跡するなど、トレースすることにより、デプロイしたアプリケーションのパフォーマンスや状態を深く知ることができます。 これにより、モノリシックなシステムであっても、分散システムでも、リクエストのフロー全体を簡単に理解することができます。 GitLab 11.5はJaegerとCNCFが提供しているトレースプロジェクトの初期設定を含んでおり、GitLabからJaegerのUIを簡単に開けるようにしました。

GitLabからJaegerを開く

Omnibus GoアプリがGitLabの証明書ディレクトリを使えるように

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLabには多くのGo言語ベースのアプリが含まれています。 v11.5以前は、これらのアプリは信頼できる証明書の置き場所に、OmnibusインストールのGitLabディレクトリではなくOSの証明書配置場所を利用していました。

このリリースより、Go言語のアプリは証明書とGitLabのデータで同じディレクトリを使用することになります。ディレクトリはデフォルトでは/opt/gitlab/embedded/ssl/certs/になります。それにより、証明書の管理が容易に、またシンプルになります。

Go言語のアプリに依存したGitLabのインストールで、システムディレクトリを使っている場合、OmnibusインストールのGitLab標準ディレクトリに証明書を移動させる必要があります。

監査イベントのJSONログ

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLab外で監査イベントの分析と調査を容易にするために、audit_json.logを追加しました。これにより、監査イベントが構造化ログファイル(JSON形式等)で取得できます。 この変更でログの解析、配布はより簡単になり、特に可視化や他のツールでの分析がより容易になりました。

マージリクエストの差分を閲覧する際のファイルリスト

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

軽微な変更を除き、マージリクエストの差分でファイルを行ったり来たりする必要があります。 GitLab 11.4で追加されたファイルツリーに加えて、 変更されたファイルの確認とそのファイルへのアクセスを改善するために、検索可能なファイルの一覧表示を提供します。 ツリー表示でも一覧表示でもお好きな方を使えます。

マージリクエストの差分を閲覧する際のファイルリスト

メールアドレス、APIトークンを用いたJiraクラウドの認証

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

Jiraクラウドでは 認証方法からユーザ名を削除しました。 この変更をサポートするため、GitLabではユーザ名の代わりに、メールアドレスやAPIトークンでJiraクラウドとの認証を行えるようになりました。

メールアドレス、APIトークンを用いたJiraクラウドの認証

オープン、またはクローズのエピックをAPIでフィルタする

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

最近のリリースでエピックをクローズできるようになりました。つまり、エピックにオープンとクローズという異なるステータスが持てるようになったということです。 今回のリリースで、APIにそのステータスが追加されました。ユーザはエピックの一覧を取得する際に、オープンやクローズでフィルタリングができます。

エピックキーボードショートカット機能

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

課題やマージリクエストと同じように、エピック内でもショートカットキーで基本的な操作ができるようになりました。 キーボードから手を離すことなく、もっとたくさんの作業を、もっと素早く終えられるようになります。 rで新規コメントの入力(選択したテキストを強調表示してくれます)、eでディスクリプションの編集、lでラベルの変更ができます。

READMEと同じようにリポジトリ内のindexファイルを表示

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLabではディレクトリ内にREADME.*ファイルが存在すると、 ファイルを開かなくても、自動的にそのファイルの中身が表示されました。 GitLab 11.5からは、index.*ファイルも同様に表示されるようになります。

これは、ウェブページのデプロイに静的サイトジェネレーターを使用している場合に、特に役立ちます。 多くのウェブサーバーは、 http://example.com/page/index.htmlhttp://example.com/page/を同じURLとして扱うので、 クリーンなURLでファイルの中身を表示できるようになります。

これは、マークダウンファイルに限らず、GitLabのサポートする多くの マークアップ言語 で利用できます。

READMEと同じようにリポジトリ内のindexファイルを表示

課題とマージリクエストのディスカッションアクティビティフィルタ

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

課題やマージリクエストのコメントで活発にやり取りをすることは望ましいことですが、 ディスカッションの参加者が増え、長期間に渡る課題やマージリクエストの場合、 ディスカッションアクティビティには、多くのコメントとシステムノートが含まれ、非常に長いものになります。

このリリースで、課題やマージリクエストのディスカッションエリアに、 コメントかシステムノートのいづれかのみを表示するためのフィルタを追加しました。 フィルタの選択状況は、すべての課題とマージリクエストで共通の設定として保存されます。

同じ機能をエピックにも追加する予定です。

課題とマージリクエストのディスカッションアクティビティフィルタ

Gitプッシュの検証に時間がかかり過ぎる場合にフィードバックを表示

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLabのGitリポジトリに変更をプッシュする毎に、 GitLabはそれぞれのコミットについて、権限とリポジトリサイズ制限とLFSオブジェクト存在の検証を行います。 巨大なプッシュを行うと、これらの検証に時間がかかり過ぎるために、何のフィードバックも無く失敗することがありました。

今後は、検証に時間がかかり過ぎるためにGitのプッシュに失敗した場合は、フィードバックが提供されます。 これにより、問題の原因をデバッグしやすくなります。

グループ設定ページの利便性を改善

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLab 11.5では、グループ設定ページでよく利用される設定項目を優先して表示するように改善しました。 一番利用されるセクションを先頭に配置し、初期状態で展開表示するように変更しました。 また、どこに目的の設定があるのかを見つけやすくするために、ラベルとリンクの文言を改善しました。 近い将来、プロジェクトと管理者の設定ページも同様に改善する予定です。

グループ設定ページの利便性を改善

トップナビのヘルプメニュー

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

このリリースで、トップナビの構成を変更し、2つの項目を専用のヘルプメニューへ移動させました。 近い将来、このヘルプメニューへインスタンスレベルのサポートやフィードバックに関する項目を追加する予定です。

トップナビのヘルプメニュー

プロジェクト機能とグループ設定の監査ログ

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

監査ログはあなたのGitLabインスタンスで発生した重要なイベントを記録する機能です。 11.5では、以下のイベントを記録できるになりました:

アクティビティダッシュボードのデザインを更新

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

このリリースで、あなたのGitLabインスタンスで誰が何をしているのかについてのより良い情報を提供するために、 アクティビティダッシュボードのデザインを更新しました。 新しいアクティビティフィードでは、アクションが発生したコンテキストについて、より多くの情報を提供します。

アクティビティダッシュボードのデザインを更新

非推奨

環境変数GITLAB_FEATURESの値sast_container

CI/CDのジョブで利用可能な環境変数GITLAB_FEATURESには、 現在のライセンスで利用可能なすべての機能がセットされます。

現在、コンテナスキャンをあらわす値のsast_containerは非推奨で、container_scanningに変更されています。 古い値は、GitLab 12.0で削除される予定です。

削除日: 2019年3月22日

セキュリティ、品質、パフォーマンスレポートのための古いCI/CDシンタックス

GitLab 11.5より以前のバージョンでは、自動的にレポートのデータを展開して、マージリクエストのウィジェットに表示するために、ジョブとアーティファクトの名前は固定されていました。 これらの古いジョブの定義はまだ有効ですが、今後の使用は非推奨となり、次のメジャーアップデートのGitLab 12.0で削除される予定です。

パイプラインで次のジョブを実行している場合は、現在の.gitlab-ci.ymlの設定を変更してください。 静的セキュリティテスト動的セキュリティテスト依存性スキャンコンテナスキャンライセンス管理コード品質ブラウザパフォーマンステスト

新しいシンタックスを正常に動作させるには、GitLab Runner 11.5以上が必要です。

削除日: Mar. 22, 2019.

3ヶ月以上以前のパイプラインの再実行を禁止

このリリースから、3ヶ月以上以前のジョブの「再生」と「再実行」が禁止されます。 また、ロールバックも利用できません。今のところ、古いジョブのデータは削除せずに残しているので、この変更により問題が発生する場合はフィードバックを受け付けています。 もし、何らかの懸念がある場合は#50939のディスカッションに参加してください。

削除日: Nov. 22, 2018.

GitLab 11.5でElasticsearch 5.5以前のバージョンのサポートを終了

GitLab 11.5でElasticsearch 5.5以前のバージョンのサポートを終了します。 今後は、Elasticsearch 5.6と6.xのみをサポートします。 詳細については、こちらのブログを参照ください。

削除日: 2018年11月22日

Omnibus GitLabでのPrometheus 1.xのサポート

GitLab 11.4(2018年10月22日)からOmnibus GitLabに同梱されるPrometheus 1.0は非推奨となります。今後はPrometheus 2.0が同梱されますが、メトリクスのフォーマットは1.0と互換性がありません。 既存のインスタンスは同梱されるツールを使用して2.0へアップグレード、およびオプションでデータの移行ができます。

GitLab 12.0では、Prometheus 2.0が使用されていない場合は自動的にアップグレードされます。その時に、Prometheus 1.0のデータ移行は行なわれないため、データは消去されます。

削除日: GitLab 12.0

アップグレードの指標

GitLab 11.4の最新バージョンからGitLab 11.5へアップグレードする際に、ダウンタイムは発生しません。 アップグレードでのダウンタイムを発生させたくない場合は、ダウンタイムレスアップグレードのドキュメントを確認してください。

このリリースではマイグレーション、デプロイ後マイグレーションが必要です。 大規模なマイグレーションが必要な場合は、バックグラウンドジョブとしてマイグレーションが実行されます。

GitLab.comのマイグレーションには約9分、デプロイ後マイグレーションには合計で約32分かかりました。 sidekiqのジョブで同期的に実行されるバックグラウンドマイグレーションは、完了するまでにおよそ2日かかりましたが、副作用は発生しないことが予想されていて、実際に発生しませんでした。 このバックグラウンドマイグレーションは、古いKubernetesクラスタのインテグレーションを対象としているので、新しいKubernetesクラスタのインテグレーションには影響はありません。

GitLab Geoのユーザーは、Geoのアップグレードのドキュメントを確認してください。

今後、OmnibusのGoアプリケーションは標準的なGitLabの証明書ディレクトリを使用します。 システムディレクトリを利用するGoアプリケーションに依存するセットアップの場合は、それらの証明書を標準的なOmnibus GitLabの場所へ移動すべきです。

変更履歴

すべての名称付きの変更を確認したい場合はCHANGELOGを確認してください:

インストール方法

新規にGitLabをインストールをする場合は インストール のページを参照してください。

アップデート方法

アップデート ページを参照ください。

GitLabのサブスクリプションプラン

GitLabは セルフホスト または クラウドサービス で利用できます。

セルフホスト: オンプレミス、またはクラウドプラットフォームにデプロイ

  • Core: 小規模なチーム、個人プロジェクト、または無期限でのGitLabの試用に向いています
  • Starter: プロフェッショナルのサポートが必要な、同一の場所で作業するチームに向いています
  • Premium: 高度な機能、高可用性、365日24時間のサポートが必要な、複数の場所で作業するチームに向いています
  • Ultimate: 高度なセキュリティとコンプライアンスで戦略の実行が求められるエンタープライズ向けのプランです

クラウドサービス - GitLab.com: 無料でも利用可能な、GitLabが運営するクラウドサービスです。

  • Free: プライベートリポジトリと共同作業者の制限はありません。 プライベートプロジェクトではFreeの機能に制限されますが、パブリックプロジェクトではGoldの機能を利用できます。
  • Bronze: より高度なワークフロー機能が必要なチームに向いています。
  • Silver: より強力なDevOps機能、コンプライアンス、迅速なサポートが必要なチームに向いています。
  • Gold: 多くののCI/CDのジョブを実行できます。プランにかかわらず、パブリックプロジェクトでは無料でGoldの機能を利用できます。

カバーイメージ のライセンスは Unsplash です。

Gitlab x icon svg