GitLab 11.10


GitLab 11.10。コントロールパネルのパイプライン、結合結果のパイプライン、およびマージリクエストの複数の行のオファー。


さまざまなプロジェクトのパイプラインのパフォーマンスに関する便利な情報


GitLabは、DevOpsライフサイクルの透明性を向上させ続けています。 このリリースは、パイプラインのステータスの概要がコントロールパネルに追加されまし


これは、1つのプロジェクトのパイプラインを検討している場合でも便利ですが、 複数のプロジェクトがある場合に特に役立ちます 。これは通常、マイクロサービスを使用し、異なるプロジェクトリポジトリからコードをテストおよび配信するためにパイプラインを実行する場合に当てはまります。 これで、 パイプラインの機能が実行された場所に関係なく、コントロールパネルにすぐに表示されます。


結合結果のためのパイプラインの実行


時間が経つにつれて、ソースブランチとターゲットブランチが分岐し、個別に対処しても状況が発生する場合がありますが、連携しません。 これで、結合結果をマージするためのパイプラインを実行できます 。 そのため、変更がブランチ間で頻繁に移動された場合にのみ発生するエラーにすぐに気付くでしょう。つまり、 パイプラインエラーをより迅速に修正し、 GitLab Runnerをより効率的に使用します。


さらなるコラボレーションの最適化


GitLab 11.10には、コラボレーションを容易にし、ワークフローを簡素化するためのさらに多くの機能があります。 前号では、レビュー担当者がコメントの1行の変更をマージリクエストに提案し、コメントスレッドから直接コミットできる場合、マージリクエストの提案を導入しました。 ユーザーはこれを気に入っており、この機能を拡張するように依頼しました。 これで、複数の行の変更を提案して、削除する行と追加する行を示すことができます。


フィードバックと提案をありがとう!


それだけではありません...


このリリースには、特定の領域へのショートカット 、コンテナレジストリのより徹底的なクリーニング構成可能なAuto DevOps、 CI Runnerの追加分を購入する機能など、非常に多くの素晴らしい機能があります 。 以下に、それぞれの詳細を示します。


今月の最も価値のある従業員( MVP )-野口拓也

今月、野口拓也が最も価値のある従業員になりました。 Takuy​​a はGitLabの栄光のために良い仕事をしました。バグを修正し、バックエンドとフロントエンドのバグを完成させ、ユーザーインターフェイスを改善しました。 よろしくお願いします!

GitLab 11.10の主な機能


コントロールパネルのパイプライン


プレミアム、アルティメイト、シルバー、ゴールド


GitLabのコントロールパネルには、GitLabインスタンス全体のプロジェクト情報が表示されます。 個々のプロジェクトを1つずつ追加し、興味のあるプロジェクトを選択できます。
この問題では、パイプラインのステータスに関する情報をコントロールパネルに追加しました。 開発者は、必要なすべてのプロジェクトでパイプラインの機能を1つのインターフェイスで見ることができます。



結合結果のパイプライン


プレミアム、アルティメイト、シルバー、ゴールド


通常、時間の経過とともに、ターゲットブランチ間で変更を絶えず移動しないと、ソースブランチはターゲットブランチから外れます。 その結果、ソースおよびターゲットブランチパイプラインは「グリーン」であり、マージの競合はありませんが、互換性のない変更によりマージは失敗します。


マージリクエストのペイラインがソースブランチとターゲットブランチのマージの結合結果を含む新しいリンクを自動的に作成するとき、このリンクでパイプラインを実行し、全体の結果が機能することを確認できます。


(任意の品質の)マージリクエストパイプラインを使用し、プライベートGitLabランナーバージョン11.8以降を使用する場合、 gitlab-ee#11122発生しないように更新する必要があります 。 これは、公開されているGitLabランナーのユーザーには影響しません。



複数行の変更を提案する


コア、スターター、プレミアム、アルティメット、フリー、ブロンズ、シルバー、ゴールド


マージ要求で一緒に作業するとき、多くの場合、問題に気づき、解決策を提案します。 GitLabバージョン11.6以降、1行の変更提案をサポートしています。


バージョン11.10では、マージリクエストのdiffリクエストへのコメントで、複数行の変更を提案できます。その後、元のブランチへの書き込み権限を持つユーザーは、ワンクリックでそれらを受け入れることができます。 新機能のおかげで、以前のバージョンと同様に、コピーと貼り付けを回避できます。



1つの領域のショートカット


プレミアム、アルティメイト、シルバー、ゴールド


1つの領域にラベルがある場合、チームは、同じフィールド内の相互に排他的なラベルをタスク、マージ要求、またはカスタムフィールドまたはカスタムワークフロー状態のシナリオのエピックに使用できます。 これらは、ラベルヘッダーにコロンを使用した特別な構文を使用して構成されます。


関数が対象としているプラ​​ットフォームのオペレーティングシステムを追跡するために、タスクにカスタムフィールドが必要だとしましょう。 各タスクは1つのプラットフォームのみに関連する必要があります。 platform::iOSplatform::Androidplatform::Linuxなどへのショートカットを必要に応じて作成できます。 そのようなショートカットをタスクに適用すると、 platform::で始まる別の既存のショートカットplatform::自動的に削除されます。


workflow::developmentworkflow::reviewworkflow::deployedショートカットがあり、チームのワークフローのステータスを示しているとします。 タスクにすでにworkflow::developmentショートカットがあり、開発者がタスクをworkflow::review段階に転送する場合、新しいショートカットを適用するだけで、古い( workflow::development )は自動的に削除されます。 この動作は、チームのワークフローを表すタスクボード上のショートカットリスト間でタスクを移動するときに既に存在します。 現在、タスクボードを直接操作していないチームメンバーは、タスク自体のワークフローの状態を変更できます。



コンテナレジストリのより徹底したクリーニング


コア、スターター、プレミアム、アルティメット、フリー、ブロンズ、シルバー、ゴールド


CIパイプラインでのコンテナレジストリの通常の使用では、1つのタグにいくつかの個別の変更を送信します。 Dockerディストリビューションの実装により、デフォルトの動作ではすべての変更がシステムに保存されますが、最終的には多くのメモリを消費します。 registry-garbage-collect-mオプションを使用すると、以前のすべての変更をすばやく削除し、貴重なスペースを解放できます。



ミニッツCIランナーの購入


ブロンズ、シルバー、ゴールド


GitLab.comの有料プラン(ゴールド、シルバー、ブロンズ)をお持ちのユーザーは、追加のCIランナー分を購入できるようになりました。 以前は、計画で規定されたクォータに適合する必要がありました。 この改善により、パイプラインの停止による作業の中断を回避するために、クォータを超える分を事前購入できます。


今では1000分で8ドルかかり、好きなだけ購入できます。 毎月の割り当て全体を使用すると追加の分が使用され始め、残りの分は翌月に繰り越されます。 将来のリリースでは、この機能を無料プランに追加する予定です。



リンク可能な自動DevOps


コア、スターター、プレミアム、アルティメット、フリー、ブロンズ、シルバー、ゴールド


Auto DevOpsにより、チームはほとんど簡単に最新のDevOpsプラクティスに移行しています。 GitLab 11.10以降、Auto DevOpsの各ジョブは独立したテンプレートとして提供されます。 ユーザーはGitLab CIのinclude includesを使用して includes個々のAuto DevOpsステージを有効にし、カスタムgitlab-ci.ymlを使用できgitlab-ci.yml 。 このようにして、適切なジョブのみを含め、アップストリームの更新を利用できます。



SCIMを使用してGitLab.comでグループを自動的に管理する


シルバー、ゴールド


以前は、GitLab.comでグループを手動で管理する必要がありました。 これで、SAML SSOを使用し、SCIMを使用してGitLab.comでユーザーを作成、削除、および更新するグループを管理できます。


これは、多数のユーザーと集中IDプロバイダーを持つ企業に特に役立ちます。 これで、Azure Active Directoryなどの単一の真実のソースを取得でき、ユーザーは手動ではなくIDプロバイダーを介して自動的に作成および削除されます。



SAMLプロバイダーを介してGitLab.comにログインします


シルバー、ゴールド


以前は、グループにSAML SSOを使用する場合、ユーザーはGitLab資格情報とIDプロバイダーでログインする必要がありました。 これで、構成済みグループに関連付けられたGitLabユーザーとしてSSO経由で直接ログインできます。


ユーザーは2回サインインする必要がないため、GitLab.comでSAML SSOを使用する方が企業にとって便利です。



GitLab 11.10のその他の改善点


子エピックの図


究極、ゴールド


前号では、タスクの分散構造を管理しやすくするために、子エピック(エピックエピック)を追加しました。 子エピックは親エピックページに表示されます。


この問題では、親の叙事詩ページに子の叙事詩の図が表示されるため、チームは子の叙事詩の履歴を確認し、時間の依存関係を管理できます。



マージリクエストのポップアップ画面


コア、スターター、プレミアム、アルティメット、フリー、ブロンズ、シルバー、ゴールド


この問題では、マージリクエストリンクにカーソルを合わせるとポップアップする情報画面が表示されます。 以前は、マージリクエストのタイトルのみを表示し、現在はマージリクエストのステータス、CIパイプラインのステータス、ショートURLも表示しました。


将来のリリースでは、 責任者やコントロールポイントなどのより重要な情報を追加し、 タスクのポップアップ画面を導入する予定です



ターゲットブランチによるマージ要求のフィルタリング


コア、スターター、プレミアム、アルティメット、フリー、ブロンズ、シルバー、ゴールド


ソフトウェアのリリースまたは配信のGitワークフローは、多くの場合、いくつかの長期ブランチに関連付けられています-以前のバージョンを修正する(たとえば、 stable-11-9 )か、品質管理から本番に切り替える(たとえば、 integration )が、見つけるのは簡単ではありません多くのオープンマージリクエストのうち、これらのブランチに対するマージリクエスト。


プロジェクトおよびグループのマージリクエストのリストは、マージリクエストのターゲットブランチによってフィルタリングできるようになり、必要なものを見つけやすくなりました。


ありがとう、佐藤博之



成功したパイプラインの送信とマージ


コア、スターター、プレミアム、アルティメット、フリー、ブロンズ、シルバー、ゴールド


トランクベースの開発開発方法を使用する場合、一時的な単一所有者の小さなブランチを優先して、長命のブランチを避ける必要があります。 マイナーな変更は、多くの場合、ターゲットブランチに直接送信されますが、同時にアセンブリが破損するリスクがあります。


このリリースでは、GitLabはGitの新しい送信オプションをサポートして、マージ要求を自動的に開き、ターゲットブランチを設定し、ブランチへの送信中にコマンドラインからのパイプラインが成功するとマージを提供します。



外部ダッシュボードとの統合の改善


コア、スターター、プレミアム、アルティメット、フリー、ブロンズ、シルバー、ゴールド


GitLabは複数のPrometheusサーバー(環境、プロジェクト、およびグループレベル(予想) )にアクセスできますが、複数のエンドポイントがあるとシステムが複雑になるか、標準のダッシュボードでサポートされない場合があります。 このリリースでは、チームは同じPrometheus APIを使用できるため、Grafanaなどのサービスとの統合が大幅に簡素化されます。


作成日でWikiページを並べ替える


コア、スターター、プレミアム、アルティメット、フリー、ブロンズ、シルバー、ゴールド


プロジェクトWikiでは、チームはソースコードとタスクと共にドキュメントやその他の重要な情報を共有できます。 このリリースでは、Wikiのページのリストを作成日とタイトルでソートして、新しく作成されたコンテンツをすばやく見つけることができます。



クラスターによって要求されたリソースの監視


究極、ゴールド


GitLabは、開発および運用アプリケーションのKubernetesクラスターを監視するのに役立ちます。 このリリースから、クラスタが要求するプロセッサリソースとメモリを追跡し、問題になる前に潜在的な問題に気づきます。



Grafanaダッシュボードでロードバランサーのメトリックを表示する


コア、スターター、プレミアム、アルティメイト


GitLabインスタンスの状態を監視することは非常に重要です。 以前は、デフォルトでGrafanaの埋め込みインスタンスを介してダッシュボードを提供していました。 このリリースから、NGINXロードバランサーを監視するための追加のパネルが追加されました。


ElixirのSAST


究極、ゴールド


言語サポートを拡大し、セキュリティチェックを強化し続けます。 このリリースでは、 ElixirのプロジェクトとPhoenixプラットフォームでビルドされプロジェクトのセキュリティチェックが含まれています


1つのグラフに複数のクエリ


プレミアム、アルティメイト、シルバー、ゴールド


GitLabでは、チャートを作成して、収集したメトリックを視覚化できます。 多くの場合、たとえば、メトリックの最大値または平均値を調べる必要がある場合、1つのダイアグラムに複数の値を表示する必要があります。 このリリースから開始する機会があります。


グループセキュリティダッシュボードのDAST結果


コア、スターター、プレミアム、アルティメット、フリー、ブロンズ、シルバー、ゴールド


SAST、コンテナスキャン、依存関係スキャンに加えて、グループのセキュリティパネルに動的アプリケーションセキュリティテスト(DAST)の結果を追加しました。


コンテナスキャンレポートにメタデータを追加する


究極、ゴールド


この問題では、コンテナスキャンレポートにさらに多くのメタデータが含まれています。 影響を受けるコンポーネント (Clair機能)を既存のメタデータに追加しました:優先度、識別子(mitre.orgを参照)、影響を受けるレベル(たとえば、debian:8)。


メトリックレポートタイプを追加してリクエストをマージする


プレミアム、アルティメイト、シルバー、ゴールド


GitLabはすでに、マージリクエストに直接含めることができるいくつかのタイプのレポートを提供しています。検証段階でのコード品質単体テストに関するレポートから、保護段階でのSASTおよびDASTまでです。


これらは重要なレポートですが、さまざまなシナリオに適した基本情報も必要です。 GitLab 11.10では、単純なキーと値のペアを想定したマージリクエストでメトリックレポートを直接提供します。 このようにして、ユーザーは、カスタムメトリックや特定のマージリクエストのメトリックの変更など、経時的な変化を追跡します。 メモリ使用量、特殊な負荷のテスト、ヘルスステータスは、他の組み込みレポートとともにマージリクエストで直接表示できる単純なメトリックに変換できます。


Mavenマルチモジュール依存関係スキャンプロジェクトのサポート


究極、ゴールド


このリリースでは、MavenマルチモジュールプロジェクトがGitLab依存関係スキャンをサポートしています。 以前は、サブモジュールが同じレベルの別のサブモジュールに依存している場合、中央のMavenリポジトリからのダウンロードを許可できませんでした。 これで、2つのモジュールと2つのモジュール間の依存関係を持つMavenマルチモジュールプロジェクトが作成されます。 同じレベルのモジュール間の依存関係がローカルMavenリポジトリで利用可能になり、ビルドを続行できるようになりました。


ユーザーはCIでのクローン作成のパスを変更できます


コア、スターター、プレミアム、アルティメット、フリー、ブロンズ、シルバー、ゴールド


デフォルトでは、GitLab Runnerはプロジェクトを$CI_BUILDS_DIRネストされた一意のパスに$CI_BUILDS_DIRます。 ただし、Golangなどの一部のプロジェクトでは、コードを特定のディレクトリに複製して、アセンブルできるようにする必要があります。


GitLab 11.10では、変数GIT_CLONE_PATHを導入しました。これにより、タスクが完了する前にGitLab Runnerがプロジェクトを複製する特定のパスを指定できます。


ログ内の保護された変数の単純なマスキング


コア、スターター、プレミアム、アルティメット、フリー、ブロンズ、シルバー、ゴールド


GitLabは、GitLab CI / CDの変数の範囲保護および制限するためのいくつかの方法を提供します。 ただし、変数は意図的または偶発的にアセンブリログに記録される可能性があります。


GitLabはリスク管理と監査に真剣に取り組んでおり、要件を遵守するための機能を追加し続けています。 GitLab 11.10では、ジョブトレースログ内のいくつかのタイプの変数をマスクする機能を導入し、これらの変数の内容を誤ってログに取得しないように保護レベルを追加しました。 また、GitLabは組み込みのトークン変数の多くを自動的に偽装します。


グループレベルでの自動DevOpsの有効化と無効化


コア、スターター、プレミアム、アルティメット、フリー、ブロンズ、シルバー、ゴールド


GitLab.comプロジェクトのAuto DevOpsを使用すると、アセンブリから配信まで、手間をかけずに最新のDevOpsワークフローを実行できます。


GitLab 11.10以降、1つのグループ内のすべてのプロジェクトに対してAuto DevOpsを有効または無効にできます。


ライセンスページの簡素化と改善


スターター、プレミアム、アルティメイト


ライセンスキーを管理するのがより便利でシンプルになるように、管理パネルのライセンスページのデザインを変更し、最も重要な要素を強調しました。



Kubernetes Clusterでの展開用の更新されたラベル


コア、スターター、プレミアム、アルティメット、フリー、ブロンズ、シルバー、ゴールド


展開ボードは、Kubernetesクラスターの展開に関する洞察を提供します。


このリリースでは、ラベルがデプロイに関連する方法を変更しました。 展開ボードは、ラベルapp.example.com/appおよびapp.example.com/envまたはappapp.example.com/envます。 これにより、フィルタリング中の競合が回避され、ボード上に表示するデプロイメントのサンプルが誤っているリスクが軽減されます。


さらに、GitLabバージョン12.0では、Kubernetesデプロイメントセレクターからのアプリラベルのサポートを放棄する予定であり、 app.example.com/app / app.example.com/envおよびapp.example.com/envのみ一致が可能になりapp.example.com/env


Kubernetesリソースの動的な作成


コア、スターター、プレミアム、アルティメット、フリー、ブロンズ、シルバー、ゴールド


KubernetesをGitLabに統合すると、各GitLabプロジェクトのサービスアカウントと専用のネームスペースでRBAC関数を使用できます。 このリリース以降、最大限の効果を得るために、これらのリソースはデプロイメントに必要な場合にのみ作成されます。


Kubernetesを展開する場合、GitLab CIは展開前にこれらのリソースを作成します。


クラスターレベルのクラスターのグループランナー


コア、スターター、プレミアム、アルティメット、フリー、ブロンズ、シルバー、ゴールド


グループレベルのクラスターは、GitLab Runnerのインストールをサポートするようになりました。 グループレベルのKubernetesランナーは、子プロジェクトに対して、 clusterおよびkubernetesとラベル付けされたグループランナーとして表示されcluster


ネイティブ関数の呼び出しカウンター


コア、スターター、プレミアム、アルティメット、フリー、ブロンズ、シルバー、ゴールド


GitLab Serverlessでデプロイされた関数は、単一の関数について受信した呼び出しの数を表示するようになりました。 これを行うには、KnativeがインストールされているクラスターにPrometheusをインストールします。



GitLab CI / CDジョブのgit cleanオプションを監視する


コア、スターター、プレミアム、アルティメット、フリー、ブロンズ、シルバー、ゴールド


デフォルトでは、GitLab Runnerは、GitLab CI / CDでジョブを実行するコードアップロードプロセス中にgit clean実行します。 GitLab 11.10以降、ユーザーはgit cleanコマンドに渡すパラメーターを制御できます。 これは、専用のランナーを持つチームや、大規模な単一リポジトリからプロジェクトを収集するチームにとって便利です。 スクリプトを実行する前に、アップロードプロセスを制御できるようになりました。 新しい変数GIT_CLEAN_FLAGSデフォルトは-ffdxで、 [git clean](https://git-scm.com/docs/git-clean)コマンド[git clean](https://git-scm.com/docs/git-clean)すべての可能なパラメーターを受け入れ[git clean](https://git-scm.com/docs/git-clean)


Coreの外部認証


コア、スターター、プレミアム、アルティメット、フリー、ブロンズ、シルバー、ゴールド


保護された環境では、プロジェクトにアクセスするために追加の外部認証リソースが必要になる場合があります。 10.6で追加レベルのアクセス制御のサポートを追加し、この機能をCoreで開くための多くのリクエストを受け取りました。 この機能は個々の参加者が必要とするため、Coreインスタンスに外部認証と追加レベルのセキュリティを導入できてうれしいです。


Coreのグループでプロジェクトを作成する機能


コア、スターター、プレミアム、アルティメット、フリー、ブロンズ、シルバー、ゴールド


開発者ロールは、バージョン10.5以降 、グループでプロジェクトを作成できますが、現在はCoreで可能です。 プロジェクトを作成することは、GitLabでの生産的な作業の重要な機会であり、Coreにこの機能が含まれているため、インスタンス参加者は新しいことを簡単に行えるようになりました。


GitLab Runner 11.10


コア、スターター、プレミアム、アルティメット、フリー、ブロンズ、シルバー、ゴールド


本日、GitLab Runner 11.10をリリースしました! GitLab Runnerは、CI / CDジョブを実行し、結果をGitLabに送り返すために使用されるオープンソースプロジェクトです。


最も興味深い変更:



変更の完全なリストは、GitLab Runner変更ログCHANGELOGにあります。


Elasticsearchのblob検索APIでproject_idを返す問題を修正


スターター、プレミアム、アルティメイト


Elasticsearchのblob検索APIのバグを修正し、 project_idに対して誤って0を返しました。 このバージョンのGitLabをインストールした後、 Elasticsearchのインデックスを再作成して正しいproject_id値を取得する必要があります。


オムニバスの機能強化


コア、スターター、プレミアム、アルティメイト


GitLab 11.10のOmnibusに以下の改善を加えました。



パフォーマンスの強化


コア、スターター、プレミアム、アルティメット、フリー、ブロンズ、シルバー、ゴールド


あらゆるサイズのGitLabインスタンスのリリースごとに、GitLabのパフォーマンスを改善し続けています。 GitLab 11.10のいくつかの改善:



GitLabチャートの改善


コア、スターター、プレミアム、アルティメイト


GitLabチャートに次の改善を加えました。



非推奨の機能


GitLab GeoはGitLab 12.0でハッシュストレージを提供します


GitLab Geoでは、セカンダリノードでの競合を緩和するためにハッシュストレージが必要です 。 これはgitlab-ce#40970で指摘されています。


GitLab 11.5では、この要件をGeoドキュメントに追加しました: gitlab-ee#8053


GitLab 11.6では、 sudo gitlab-rake gitlab:geo:checkハッシュストレージが有効かどうか、およびすべてのプロジェクトが移行されたsudo gitlab-rake gitlab:geo:checkどうかをsudo gitlab-rake gitlab:geo:checkします。 gitlab-ee#8289を参照してください。 Geoを使用している場合は、このチェックを実行して、できるだけ早く移行してください。


GitLab 11.8では 、上記のチェックが許可されていない場合、永久に無効化されたgitlab-ee!8433警告が管理領域ジオノードページに表示されます。


GitLab 12.0では、 Geoはハッシュストレージ要件を使用します。 gitlab-ee#8690を参照してください。

削除日: 2019年6月22日


Ubuntu 14.04のサポート


GitLab 11.10は、Ubuntu 14.04サポートする最新リリースです。


Canonicalは、 2019年4月からUbuntu 14.04の標準サポートの終了を発表しました。 サポートされているバージョンのLTS(Ubuntu 16.04またはUbuntu 18.04)にアップグレードすることをお勧めします。


削除日: 2019年5月22日


1回の送信で作成されるパイプラインの最大数を制限する


GitLab HEAD . , (, develop ).


, (, , ), . GitLab 11.10 4 .


: 22 2019 .


legacy GitLab Runner


Gitlab 11.9 GitLab Runner / . GitLab Runner , . .


GitLab 11.0 GitLab Runner. metrics_server listen_address GitLab 12.0. .


11.3 GitLab Runner - ; S3 . , . .


GitLab 12.0. , , , GitLab 11.9+ GitLab Runner 12.0.


: 22 2019 .


GitLab Runner


11.4 GitLab Runner FF_K8S_USE_ENTRYPOINT_OVER_COMMAND , #2338 #3536 .


GitLab 12.0 , . .


: 22 2019 .


Linux, EOL, GitLab Runner


Linux, GitLab Runner, .


GitLab 12.0 GitLab Runner Linux. , , . ( Javier Jardón ) !


: 22 2019 .


GitLab Runner Helper


Windows Docker executor , helper image .


GitLab 12.0 GitLab Runner . , helper image . .


: 22 2019 .


legacy git clean GitLab Runner


GitLab Runner 11.10 , Runner git clean . , git reset git clean .


, FF_USE_LEGACY_GIT_CLEAN_STRATEGY . true , legacy- . GitLab Runner .


GitLab Runner 12.0 legacy- . .


: 22 2019 .


System Info


GitLab GitLab admin/system_info , .


GitLab 12.0 .


: 22 2019 .



:



設置


GitLab, GitLab .



.


GitLab


GitLab : SaaS .


: .



SaaSGitLab.com : , GitLab .




Source: https://habr.com/ru/post/J450378/


All Articles