2018年11月02日 - Hiroyuki Sato     (原文)
11.4

GitLab 11.4がリリース、レビュー機能やフィーチャーフラグ

GitLab 11.4がリリースされました。マージリクエストでのコードレビューの改善やフィーチャーフラグの導入など様々な点が改善されています。

2018年10月22日にリリースされたGitLab 11.4では、マージリクエストのレビュー機能が強化されたことに加えて、 変更されたファイルをツリー形式で表示するように改善されたことによって、コードレビューを効率的に実施できるようになりました。 フィーチャーフラグ機能(アルファ版)が導入されました。 PostgreSQLのマイグレーション定期的なインクリメンタルロールアウトによって、 Auto DevOpsやCIがより強力になりました。 さらに、Gitプロトコル v2をサポートしたことで、Gitの動作が高速化されました。

コードレビュー

マージリクエストのレビュー機能の強化によって、マージリクエストでのコメントのノイズを低減することができます。 レビュワーは複数のコメントを一つにまとめて投稿することができるようになりました。 これにより、複数に分かれて届いた通知をまとめることができるので、プロジェクトの参加者は、より効率的に変更を追跡できます。

適切な担当者がコードの変更をレビューし承認することにより、コードの品質を高めることができます。 11.3のリリースで導入されたCODEOWNERSファイルの情報に基づいて、マージリクエストをレビューし承認すべき担当者が提案されるようになりました。 これによって、変更のレビューと承認を素早く効率的に実施できます。

さらに、修正されたファイルをツリー形式で表示するように改善され、 より簡単に素早く修正されたファイルを見つけて移動できるようになりました。

フィーチャーフラグ

機能の切替を簡単にできる、フィーチャーフラグ機能のアルファ版がリリースされました。 これにより、新機能をリリースする際のリスクを低減することができます。

Auto DevOpsとCI/CD

gitlab-ci.ymlファイルをインクルードして利用できるプランをStarterからCoreへ変更しました。 これにより、すべてのチームがCI/CDパイプラインをより効率的に管理できるようになります。

その他の改善

プロフィールページのレイアウトの変更プロフィールステータスのアクセスを改善@mentionsのハイライト新しいクイックアクションエピックのクローズなど多くの改善が含まれています。

GitLab 11.4のすべての機能の詳細をご覧ください。

GitLab MVP badge

今月のMVPには Luke Picciau さんが選ばれました

Lukeさんは2段階認証のリカバリーコードのバックアップを簡単にできるように、リカバリーコードをファイルとしてダウンロードできるようにしました。 2段階認証機能のリカバリーコードは、スマートフォンを紛失した場合などに、GitLabのアカウントにアクセスするのに必要となります。

GitLab 11.4での主要機能

マージリクエストのレビュー機能

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

マージリクエストでのコードレビューはGitLabの機能の中でも強力な機能の一つです。 チームメンバーで、コードの差分の特定行にコメントし、リンクすることができます。 さらに、コメントした内容が解決したことをマークすることもできます。 しかし、変更の差分が巨大になると、マージリクエストでのコードレビューには苦痛が伴います。 変更が大きな場合は、レビュアーは10箇所以上の行にコメントすることも珍しくはありません。 例えば、コードレビューを進めるにつれて最初のコメントが適切ではないことに気がついたとしても、 不要なコメントは既に投稿済みです。 結果として、マージリクエストの作者には不要な通知が大量に送られてしまいます。

このリリースで、マージリクエストのレビュー機能が導入されました。 これにより、レビュアーはコードレビューのために複数のコメントを下書きできるようになりました。 レビュアーはコメントに一貫性があることを確認してから、まとめて投稿することができます。 下書きはGitLabのサーバーに保存されているので、会社のデスクトップでレビューの下書きを作成し、 外出中にレビューの続きをタブレットで行うということも可能です。  下書きが投稿されると、今までのように通常のコメントとして表示されます。 マージリクエストのレビュー機能よって、チームメンバーはより柔軟にコードレビューを実施できるようになります。

将来的に、下書きを投稿する前に投稿内容をプレビューする機能の追加や すべての通知を一つの通知にまとめる改善が計画されています。

マージリクエストのレビュー機能

アプリケーションのフィーチャーフラグの作成と切替(アルファ版)

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

フィーチャーフラグを作成し管理する機能が追加されました。 作成したフィーチャーフラグは、シンプルなAPIを通してアプリケーションから利用できます。 これによって、GitLabのフィーチャーフラグを使用して、 アプリケーションの動作を切り替えることができます。

フィーチャーフラグはあなたのアプリケーションに機能の切替システムを提供します。 フィーチャーフラグにより、本番環境にリリースする新機能のテストや制御が容易になります。 フィーチャーフラグは、リスクの低減に役立ち、どの機能を有効にするのかを簡単に管理できるようになります。

現在、この機能はアルファ版です。 今後の改善のため、この機能を試してのフィードバックをお願いします。

アプリケーションのフィーチャーフラグの作成と切替(アルファ版)

マージリクエストの変更されたファイルをツリー形式で表示

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

コードレビューはプロジェクトを成功させるための基本的なプラクティスですが、 差分のフラットなリストからは、何が変更されたかを判別するのは困難です。

ファイルツリーは、変更されたファイルと変更の大きさを俯瞰するのに役立ちます。 また、検索バーを使用して、パスや拡張子でレビュー対象のファイルを絞り込むこともできます。 これによって、レビュワーは自分が専門分野の対象に集中して、効率的にレビューすることができます。

マージリクエストの変更されたファイルをツリー形式で表示

コード所有者をマージリクエストの承認者として提案

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

あなたの変更をレビューするのに最適な人が誰なのか明確でない場合があります。 これからは、マージリクエストを作成、もしくは編集する際に、 コード所有者が承認者として提案されます。 そのため、適切な人を担当者として割り当てるのが簡単になります。

コード所有者を定義する機能はGitLab 11.3で追加されました。 今後のリリースで、コード所有者は担当者の自動割当承認者の要求など マージリクエストのワークフローにさらに統合される計画です。

コード所有者をマージリクエストの承認者として提案

ユーザープロフィールのデザインを変更

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

あなたのユーザープロフィールページには、 あなたが何に興味を持ち、何に取り組んでいるのかを知ることができる、 シンプルな情報が表示されるべきです。

このリリースでは、プロフィールページに概要タブを追加しました。 概要には、省略された貢献グラフ、最近の活動、および最も関連のある個人プロジェクトが表示されます。

ユーザープロフィールのデザインを変更

ユーザーメニューにステータスの変更と表示を追加

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLab 11.2で、 ユーザーの現在の状況や気分や好きな動物などを共有できるように、 個人のステータスメッセージが追加されました。

このリリースで、ステータスの変更をよりシンプルにスムーズに行えるようになります。 ユーザーメニューに新しく追加された「Set status」をクリックすると、 モーダル画面が表示され、ステータスの変更と消去ができます。 さらに、設定したステータスがユーザーメニューに表示されるようになりました。

例えば、ステータスに”island”の絵文字と「夏休み(8月10日〜8月15)」とメッセージを設定することで、 他のメンバーに夏休み中であることを知らせることができます。

ユーザーメニューにステータスの変更と表示を追加

.gitlab-ci.ymlをインクルードして利用できるプランをStarterからCoreへ変更

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

このリリースから、Coreプランでも.gitlab-ci.ymlをインクルードして利用できるようになりました。 これにより、すべてのユーザーがCI/CDパイプラインでスニペットを再利用できるようになります。

<code>.gitlab-ci.yml</code>をインクルードして利用できるプランをStarterからCoreへ変更

特定のファイルやパスで変更が発生した場合にだけジョブを実行

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

.gitlab-ci.yml内にonly/exceptのルールを記述することで、 特定のファイルやパス(glob)で変更が発生した場合にだけジョブを実行できるようになりました。

これによって、様々なアセットが含まれるリポジトリの場合に、 変更されたファイルに基づいて必要なジョブだけを実行できるようになり、 パイプラインの実行時間を短縮することができます。

特定のファイルやパスで変更が発生した場合にだけジョブを実行

Auto DevOpsに定期的なインクリメンタルロールアウトを追加

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

これまでもAuto DevOpsでインクリメンタルロールを設定可能でしたが、 さらにこのリリースから、定期的なインクリメンタルロールを設定可能になりました。 定期的なインクリメンタルロールは、エラーが無ければ、一定のリズムで自動的にロールアウトを継続します。

Auto DevOpsに定期的なインクリメンタルロールアウトを追加

GitLabの管理するアプリがKubernetes RBACをサポート

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

インフラを構築、および既存のインフラに接続する際に、セキュリティを高めることは非常に重要です。 Kubernetesのリソースへの適切なアクセス制御を提供するために、 Kubernetes 1.8でRole-based access control(RBAC)が安定版となりました。

このリリースから、GitLabのKubernetesインテグレーションで、 GKEにRBACが有効なクラスターの構築、およびRBACが有効な既存のクラスターに接続できるようになりました。 これによって、あなたのインフラのセキュリティを高めることができます。

GitLabの管理するアプリがKubernetes RBACをサポート

Auto DevOpsがRBACをサポート

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

このリリースから、Auto DevOpsでRBACが有効なKubernetesクラスターを利用できます。

Role-based access control(RBAC)は、Kubernetesクラスターを運用する際に、 安定性、セキュリティ、および効率性を高めるために非常に重要なツールです。 Auto DevOpsでRBACが有効なクラスターを利用することで、あなたのアプリケーションのインフラのセキュリティを高めることができます。

Auto DevOpsがRBACをサポート

Auto DevOpsでPostgreSQL DBの初期化とマイグレーションをサポート

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

Auto DevOpsを利用すると、あなたのアプリケーションを自動的にビルド、テスト、デプロイ、および監視できます。 GitLab 11.4からはさらに、Auto DevOpsでPostgreSQL DBの初期化とマイグレーションをできるようになりました。

プロジェクト変数として、PostgreSQL DBを初期化、またはマイグレーションするスクリプトを定義するだけで、Auto DevOpsが残りの処理を実行します。

Auto DevOpsでPostgreSQL DBの初期化とマイグレーションをサポート

GitLab 11.4でのその他改善点

購読中のラベル一覧

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLabのラベルは、課題、マージリクエスト、およびエピックに適用できるのでとても強力です。 しかし、使用するラベルが増えるにつれて、ラベルの管理が煩雑になります。

そのため、最近のリリースでプロジェクトのラベル一覧ページでラベルの検索をできるようにしました。 このリリースではさらに、名前、作成日、および更新日での並べ替えできるようにしたことに加えて、 購読中のラベル一覧を表示できるようにしました。 この機能は、グループとプロジェクトのラベル一覧の両方で利用できます。

購読中のラベル一覧

あなたへの@mentionsを区別して強調表示

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

課題やマージリクエストでのディスカッションが長くなると、 自分へのコメントを見つけるのが困難になります。

このリリースから、あなた(ログイン中のユーザー)への@mentionsの色を他の色で強調表示します。 これは、自分へのコメントを素早く見つけるのに役立ちます。

あなたへの<code>@mentions</code>を区別して強調表示

作成された課題をバーンダウンチャートに内包

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

バーンダウンチャートは、チームがマイルストーンの進捗を測るのに役立ちます。 通常、作業のスコープはマイルストーンの開始前に決定されるべきものです。 しかし、緊急のバグやセキュリティの修正など、ルールには重要な例外がつきものです。

このリリースから、このようなマイルストーンの途中に作成された課題も、 バーンダウンチャートに内包されるようになりました。

作成された課題をバーンダウンチャートに内包

クイックアクションでディスカッションをロック

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

課題やマージリクエストのディスカッションをロックする機能は、 新しい課題やマージリクエストで対話するように促すのに役立ちます。 また、不正利用や非生産的な振る舞いを制限するのにも利用できます。

このリリースから、クイックアクションでディスカッションをロック、またはアンロックできるようになりました。

この機能はMehdi Lahmamさんの貢献によるものです。

クイックアクションでディスカッションをロック

管理者エリアの設定の構成を改善

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLabには非常に多くの機能があるので、GitLabの管理業務は大変な作業になり得ます。

このリリースでは、すべてのセクションを個別設定のサブページに移動させることで、管理者エリアでの設定作業のユーザー体験を改善しました。 これによって管理者は詳細ページに、より短時間でアクセスできるようになります。

管理者エリアの設定の構成を改善

プロジェクトの概要にプログラミング言語の使用率を表示

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

以前のリリースで、プロジェクトの概要ページに、使用しているプログラミング言語のおおよその割合が分かるバーを追加しました。

GitLab 11.4では、さらにプログラム言語の使用率も表示するようにしました。

この機能はJohann Hubert Sonntagbauerさんの貢献によるものです。

プロジェクトの概要にプログラミング言語の使用率を表示

管理エリアのRunner一覧をRunnerのタイプや状態で絞り込み

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

管理エリアのRunner一覧をRunnerのタイプや状態で絞り込みできるようになりました。 これは、たくさんのRunnerを管理するにに役立ちます。

管理エリアのRunner一覧をRunnerのタイプや状態で絞り込み

プランによって利用できないAuto DevOpsのジョブをスキップ

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLab 11.4から、利用中のプランを評価してAuto DevOpsのジョブをスキップするようにしました。 これにより、利用できない機能(例えば、Ultimateのみで利用可能なSASTやDAST)がある場合に、Auto DevOpsのパイプライン処理が高速化されます。

これには、パイプライン処理の時間を短縮するだけではなく、パイプラインに不要なジョブが表示されなくなるので、見やすくなる効果もあります。

NurtchとJupyterHubで対話的な運用マニュアル

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

対話的な運用マニュアルは、運用者がインフラの診断やデプロイなどの定型的なタスクを実行するのに、非常に便利なツールです。

このリリースから、GitLabのKubernetesインテグレーションでインストールしたJupyterHubアプリケーションに、 NurtchのRubix libraryが内包されるようになりました。 これにより、DevOpsの運用マニュアルを作成するためのシンプルな方法が提供されます。 提供されるサンプル運用マニュアルを利用した、運用例の動画をご覧いただけます。

NurtchとJupyterHubで対話的な運用マニュアル

メトリクスダッシュボードに警告の閾値を表示

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLab 11.4から、メトリクスダッシュボードに設定した警告の閾値が表示されるようになりました。 これにより、警告を発しているメトリクスを簡単に見分けることができます。

メトリクスダッシュボードに警告の閾値を表示

管理エリアのGeoのUXを改善

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

Geo(GitLabのレプリケーション機能)の管理者として、セカンダリノードのセットアップと同期状態を把握することは非常に重要です。

GitLab 11.4では、同期状態や検証の詳細を画面に表示することで、管理エリアのGeo関連のUXを改善しました。 プライマリノードの管理エリアには、新しく「Projects」ボタンが追加され、セカンダリノードのプロジェクト一覧を素早く開くことができます。 セカンダリノードには、新しく「All」タブが追加され、検証状態の概要を素早く確認できます。

今後、さらなるUXの改善が計画されています。

管理エリアのGeoのUXを改善

GitLab Runner 11.4

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

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

注目すべき変更点:

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

パフォーマンスの改善

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLab 11.4にはいくつかの注目すべきパフォーマンスの改善が含まれています:

WIPマージリクエストの絞り込み

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLabのマージリクエストは、チームメンバーがコードを通して共同作業するために、中核となる機能です。 WIP(work in progres)機能は、作業中のコードをチームメンバーと共有し、まだマージすべきではないことを伝えるのに役立ちます。

このリリースでは、グループレベルとプロジェクトレベルの両方のマージリクエストの一覧で、 WIPとWIP以外のマージリクエストを絞り込む機能が追加されました。 これにより、作業中のマージリクエストとレビューの最終段階にあるマージリクエストを素早く探せるようになります。

WIPマージリクエストの絞り込み
CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLabでは、テキストを入力するほとんどの箇所でGitLab Flavored Markdown(GFM)を利用できます。 GFMを使用すると、シンプルな文法でリッチな表示が可能になります。 例えば、GFMを使用してテーブルを作成することができます。 これまでは、GFMでテーブルを作成する作業は、大量の文字を手打ちする必要があるために苦痛を伴うものでした。 同様に、GFMはURLのリンクもサポートしていますが、その文法を忘れてしまうと使用できませんでした。

このリリースからは、GFMエディターのテーブルボタンをクリックすることで、自動的にテーブルを挿入できるようになりました。 これにより、テーブルを作成する手間が軽減されます。 この機能は、GitLabのすべての説明欄とコメント欄で利用できます。

また、リンクボタンをクリックすると、リンク文法の雛形が生成されます。 ここにリンクの名前を入力しURLを貼り付けることで、リンクを簡単に作成することができます。

テーブルの挿入はGeorge Tsiolisさんの貢献によるものです。

URLリンクの挿入はJan Beckmannさんの貢献によるものです。

クリックでマークダウンのテーブルやリンクを挿入

課題APIのウェイトの値を拡張

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

以前のリリースで、課題のウェイトの値としてゼロより大きい任意の整数を使用できるように拡張されました。

このリリースから、課題APIでも同じようにウェイトの値にゼロ以上の任意の整数を設定できるように拡張されました。

エピックをクローズ

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

課題やマージリクエストと同様に、エピックをクローズ、および再オープンできるようになりました。 また課題一覧と同様に、エピック一覧にオープン、クローズ、すべてのタブが追加されました。 これにより、エピックのすべての作業が完了後にエピックをクローズすることで、 デフォルトのエピック一覧に完了したエピックは表示されなくなります。

課題と同様に、エピックのクローズは画面のボタン以外に、クイックアクションやAPIからも可能です。

エピックをクローズ

プロジェクトを人気順に並べ替え

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

GitLabは、あなたが関心のあるプロジェクトを見つけられるように最善を尽くします。 このリリースから、プロジェクトの探索ページで、プロジェクトを人気順に並べ替えできるようになりました。

この機能はJacopo Beschiさんの貢献によるものです。

プロジェクトを人気順に並べ替え

二段階認証のリカバリーコードをダウンロード

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

ウェブアプリケーションのログインに二段階認証を利用することはデファクトスタンダードとなっています。 GitLabでは、二段階認証を最初にセットアップした時に、アカウントへのアクセスを回復するためのリカバリーコードが表示されます。 リカバリーコードは、スマートフォンなどを紛失して、二段階認証でのログインができなくなった時に必要なものです。

このリリースから、「Download codes」ボタンをクリックしてリカバリーコードをテキストファイルとしてダウンロードできるようになりました。

この機能はLuke Picciauさんの貢献によるものです。

二段階認証のリカバリーコードをダウンロード

Docker executerで対話的なウェブターミナルをサポート

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

CIを実行するDocker executorで対話的なウェブターミナルの機能をサポートしました。 現在は、スクリプトの処理が完了すると、ただちにDockerのセッションが終了します。 しかし、次のリリースでは#3605を解決することで、この動作が改善される見込みです。

Docker executerで対話的なウェブターミナルをサポート

パイプラインのジョブを遅延実行

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

このリリースから、.gitlab-ci.ymlの中でwhenキーワードを使用することで、 ジョブの開始を遅延させることができるようになりました。 遅延がない場合のジョブの開始時刻を起点として、遅延させる時間を指定することができます。 これにより、例えば、定期的にインクリメンタルロールアウトを実行するといった処理が可能になります。

パイプラインのジョブを遅延実行

プロジェクトで許可/禁止するライセンスの管理

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

開発者がプロジェクトで許可/禁止するライセンスを管理するのに、ライセンスポリシーが有効です。 新しいライセンスが追加されると、マージリクエストのページで直接そのライセンスを許可/禁止することができます。 しかし、プロジェクトのメンテナによっては、許可/禁止するライセンスを事前に決めたい場合があります。

GitLab 11.4では、ライセンスポリシーに手動で禁止/許可するライセンスを追加できるようになりました。 プロジェクトのメンテナは、Settings > CI/CD > License Managementページで、事前にライセンスポリシーを作成できます。

プロジェクトで許可/禁止するライセンスの管理

Gitプロトコル v2

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

開発者は、現在のブランチがリモートブランチから遅れていないか確認するために、一日に何回もfetchを行います。 Gitプロトコル v2は、Gitの通信プロトコルのメジャーアップデートで、 cloneやfetchやpushの際にクライアント(あなたのマシン)とサーバー(GitLab)がどのようにやり取りするかを定義します。 新しい通信プロトコルはfetchコマンドのパフォーマンスを向上させるなど様々な改善がされています。

以前のプロトコルでは、fetchコマンドのレスポンスにはレポジトリのすべての参照が含まれていました。 例えば、一つのブランチを更新するためにfetchする(つまりgit fetch origin master)と、すべての参照のリストが取得されてしまいます。 巨大なプロジェクトでは、数十万の参照と数十メガバイトのデータ量となる場合もあります。

Gitプロトコル v2はGit v2.18からサポートされ、オプトインで提供されます。 グローバルに有効にするには、git config --global protocol.version 2を実行してください。

なお、SSHのGitプロトコル v2は、まだGitLab.comでは有効になっていません。 また、セルフホスティングのGitLabインスタンスで使用するには、手動で有効にする必要があります。

Omnibus GitLabのPrometheusを2.0にアップグレード

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

簡易的にインスタンスを監視できるように、 Omnibus GitLabにはPrometheusが同梱されています。 Prometheusチームは、多くの点が改善された、 新メジャーバージョンの2.x系をリリースしました。 これらの改善には、パフォーマンスの改善やより効率的な時系列データベースフォーマットなどが含まれます。 残念ながら、データベースのアーキテクチャの変更により、1.x系のデータベースフォーマットとの互換性はありません。 GitLab 11.4では、OmnibusパッケージにPrometheus 2.4.2が同梱され、ユーザーはその恩恵を得ることができます。

  • GitLab 11.4以上の新規インストールではPrometheus 2.x系が使用されます。
  • 既存のインスタンスでは、Prometheusは自動アップグレードされません。新しく追加されたgitlab-ctl Prometheus-upgradeコマンドで、 Prometheusのアップグレードとオプションでデータ移行ができます。 データ移行中はPrometheusが停止します。
  • GitLab 12.0ではPrometheusが2.0に自動的にアップグレードされる予定です。この自動アップデートでは、Prometheus 1.0のデータ移行は行なわれない予定です。

Prometheus 2.4.2へのアップグレードに関する詳細な情報が必要な場合は、アップデートドキュメントを参照してください。

GeoでSSHのGitコマンドをプライマリノードにプロキシ

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD

地理的に分散したチームをサポートするために、可能な限りGeoの利用を簡単することを目指して開発が行われています。 GitLab 11.3では、 はじめてセカンダリノードからSSHのgit pushをプライマリノードにプロキシすることをサポートしました。

このリリースからは、この機能のユーザビリティとパフォーマンスを更に改善し、cloneとpullもできるようになりました。 これにより、Geoを利用する際に、複数のリモートURLを手作業で設定する必要がなくなります。

GeoでSSHのGitコマンドをプライマリノードにプロキシ

Omnibusの改善

CORE
STARTER
PREMIUM
ULTIMATE
FREE
BRONZE
SILVER
GOLD
  • redisが3.2.12へアップデートされ、深刻なセキュリティの問題といくつかの脆弱性が修正されました。11.4にアップグレードした後に、gitlab-ctl restart redisを実行し、確実に新しいバージョンを利用してください。
  • GitLab 11.4はMattermost 5.3を同梱します。 オープンソースのSlack代替品で、最新リリースではデスクトップ、およびモバイルアプリでの検索機能の強化などの様々な改善がされています。 また、セキュリティアップデートも含まれているので、アップグレードすることを推奨します。
  • gitを2.18.1へ、libpngを1.6.35へアップデートしました。
  • gnupgを2.2.10へ、gpgmeを1.10.0へ、libgcryptを1.8.3へ、npthを1.6へ、libgpg-errorを1.32へ、libassuanを2.5.1へアップデートしました。
  • trusted_certsディレクトリ内の証明書のパーミッションを0755から0644に変更しました。

非推奨

GitLab RunnerがサポートするDockerのバージョン

GitLab 11.4(2018年10月22日)で、Dockerの最新の推奨バージョンガイドラインに従い、 Docker 1.12(API version 1.24)以前のバージョンは非推奨となります。 11.4のリリース後は、これら古いバージョンのDockerの公式サポートは打ち切りとなり、動作しなくなる可能性があります。

削除日: 2018年10月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.3の最新バージョンからGitLab 11.4へアップグレードする際に、ダウンタイムは発生しません。 アップグレードでのダウンタイムを発生させたくない場合は、ダウンタイムレスアップグレードのドキュメントを確認してください。

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

GitLab.comのマイグレーションには約34分、デプロイ後マイグレーションには合計で約2分かかりました。

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

セットアップの簡易化のため、Omniauthがデフォルトで有効化されます。 外部プロバイダは自動的に設定されないので、ほとんどの環境に影響はありません。 ただし、以前に外部プロバイダを設定し、かつ現在はOmniauthを無効化している環境では、11.4にアップグレードするとOmniauthが有効化されるので注意が必要です。 これを避けるには、プロバイダの設定を削除するか、明示的にOmniauthを無効化する必要があります。

変更履歴

すべての名称付きの変更を確認したい場合は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