マージリクエストと機能フラグのピアレビューを含むGitLab 11.4の新しいリリース

開発チームがより効率的に連携できるように設計された信じられないほどの更新を含むGitLab 11.4のリリースをお知らせします。 ほとんどのDevOps開発チームは、作業サイクルの短縮に努めています。 したがって、時間のロスと不必要な作業を削減し、それによってアプリケーション配信を高速化し、より良いビジネス成果を達成するような改善が歓迎されます。











GitLab 11.4のリリースでは、 マージ要求レビュー差分リストのファイルツリーなどのツールを使用してコードレビューが改善されています 。 新しい機能フラグツールが提案されています(アルファ版)。 Auto DevOpsとCIパイプラインは、 PostgreSQLデータベース増分スケジュールされた展開移行できるため、さらに効率的になりました。 Git v2プロトコルのサポートにより Git自体がさらに高速になりました。







コードレビュー



マージリクエストレビューツールは、複数のコードコメントとマージリクエストの混乱を軽減します。 バッチコメント機能を使用すると、レビュー担当者はコードまたはマージのリクエストで複数のコメントを入力し、それらをまとめて1つのパッケージで送信できます。 現在、このプロジェクトにサブスクライブしているユーザーは、より効果的に変更を追跡できます。







高品質のコードを提供するには、この目的に最も適した人が変更を確認して承認する必要があります。 リリース11.3では、「コード所有者」の概念が導入されました。 現在、コード所有者に関する情報を含むCODEOWNERS



ファイルに基づいて、 CODEOWNERS



は特定のマージ要求を確認および承認する必要のある個人を提案します。 したがって、変更を迅速かつ最小限のコストでレビューおよび承認することが可能になります。 また、特定のコードのレビュー担当者を定義する必要がある場合に、チームの職務と役割の分離を決定するのにも役立ちます。







マージリクエストを確認するときに、ファイルツリーを表示できるようになりました。 レビュアー向けに、いくつかの変更されたファイル間のナビゲーションが簡素化および高速化され、コメントやコメントを残すことができます。







Chorus.aiの共同設立者でテクニカルディレクターのRussell Levyが、ファイルツリーのレビューと閲覧がチームにどのように役立つかを説明します。







コードを慎重に確認します。通常、中規模のマージの各リクエストには10​​〜20のコメントと、数回の議論があります。 レビュー機能を使用すると、レビュープロセスの混乱と遅延が減少します。

最大のマージリクエストを処理する場合、新しい「差分リストのファイルツリー」機能により、コードを簡単にナビゲートして依存関係を理解できるため、レビュープロセスが大幅に高速化されます。


機能フラグ



アプリケーションの機能を有効または無効にするシステムであるFeature Flagsのアルファ版を導入しています。 開発チームは、アプリケーションの継続的デリバリーを実践できるようになり、小さなパッケージで本番環境に新機能を展開できるため、完全な展開のリスクを軽減できます。







自動DevOpsおよびCI / CDコンベヤー



また、すべてのユーザーに .gitlab-ci.yml include



を使用 .gitlab-ci.yml include



追加のファイル .gitlab-ci.yml include



機能を提供しました。 現在は、スターターバージョンだけでなく、コアでも使用できます。 これにより、すべてのチームがこのベストプラクティスを使用できるようになり、CI / CDパイプラインの管理がより簡単かつ効率的になります。







快適な外観の変更



より広いGitLabコミュニティと一緒に、このリリースに含まれる多くの素晴らしい改善が追加されました。 これらには、新しいプロファイルレイアウト、プロファイルステータスへのクイックアクセス、 @mentions



コメントの強調表示、新しいクイックアクション、エピックを閉じる機能が含まれます。







続きを読むと、GitLab 11.4のリリースのすべての優れた機能についてさらに詳しく知ることができます。







今月の最も貴重な人( MVP )はLuc Picchoです。







Lukeは、 2FA回復コードをファイルとしてダウンロードする機能を追加しました。これにより、バックアップが簡単になります。 電話またはワンタイムシークレットパスワードへのアクセスを失った場合、GitLabアカウントへのアクセスを回復するには、2FA回復コードが必要です。







ルーク、ご意見ありがとうございます!







GitLab 11.4に追加された主な機能



マージリクエストを確認する



使用可能なバージョン:PREMIUM、ULTIMATE、SILVER、GOLD







マージリクエストのコードレビューは、GitLabの強力な機能です。 チームメンバーは、相違点リストの特定のコード行に関連するダイアログに参加し、不整合を解決することさえあります。 ただし、特定のマージリクエストの違いが大きい場合、プロセスは非常に混乱する可能性があり、レビュー担当者は1回の会話サイクルで10個以上のコメントを残す必要があります。 また、9番目または10番目のコメントにより、以前のコメントが不要になる場合があります。 最終結果は、マージ要求の作成者が多くの通知を受け取り、それらを一度に1つずつソートする必要があることです。







この問題では、マージ要求を確認する機能を紹介します。 これにより、レビュアーは、マージリクエストで必要な数のドラフトコードコメントを作成し、それらがすべて一貫していることを確認して、一度に送信できます。 ドラフトコメントはGitLabに保存されるため、レビューアは自分の作業を複数のセッションに広げることもできます。 たとえば、勤務時間中にデスクトップコンピューターでレビューを開始し、夕方遅くに自宅のタブレットデバイスで最終レビューを行うことができます。 ドラフトコメントが送信されるとすぐに、通常の個々のコメントの形式になります。 これにより、個々のチームメンバーは自分にとって都合の良い順序でコードを確認できますが、同時にチーム全体との互換性を維持できます。







将来の反復では、バッチ送信の前にプレビューを提供することでこの機能を改善し、これらのコメント基づいて現在生成されているすべての通知を1つのバッチ通知に結合します。











アプリケーションの機能フラグの作成と切り替え(アルファ版)



使用可能なエディション:PREMIUM、ULTIMATE、SILVER、GOLD







この機能により、機能フラグを作成し、製品のソフトウェアの機能を直接管理できます。 新しい関数フラグを作成し、簡単なAPI命令を使用してプログラムでチェックするだけで、フラグを使用してGitLab内から本番環境でプログラムの動作を制御できます。







関数フラグは、アプリケーションの機能を有効または無効にするためのシステムです。 チームは、テストを制御できるように、新しいコンポーネントを小さなバッチで実稼働環境に展開することにより、チームが継続的に提供できるようにします。 コンポーネントの配信は、顧客による起動から時間的に分離されます。 これにより、リスクを軽減し、特定の機能の組み込みと非アクティブ化を簡単に制御できます。







これは初めて導入されるアルファ関数であるため、この関数を確認してフィードバックを提供し、将来のリリースで実装が変更される可能性があることを通知することをお勧めします。











マージリクエストの違いを表示するためのファイルツリー



で利用可能:コア、スターター、プレミアム、アルティメット、無料、ブロンズ、シルバー、ゴールド







コードレビューは、成功するすべてのプロジェクトで使用される重要な手法ですが、構造化されていない相違点のリストから何が変更されたかを正確に理解することは困難です。 GitLabには検索可能なファイルツリーがあり、どのファイルが変更されたかを確認して、一方のファイルから他方のファイルに切り替えることができます。







diff-stats



ようなファイルツリーは、変更の構造とサイズを示します。 その助けを借りて、変更を表示し、ある違いから別の違いに移動する方が便利です。 ツリー検索を使用すると、レビュー担当者は特定のパスまたはファイルの種類を指定することで、コードの表示をファイルの特定のサブセットに制限できます。 これにより、マージ要求からのファイルの特定のサブセットのみに焦点を当てる人の査読が簡単になります。







以前は、変更可能なファイルのリストは検索可能なドロップダウンリストからアクセスできました。これは特定のファイルに移動するのに最も便利でした。











要求の承認者としてコード所有者を提供する機能



使用可能なもの:スターター、プレミアム、アルティメイト、ブロンズ、シルバー、ゴールド







コードの変更をレビューするのに最適な人物が誰であるかは必ずしも明らかではありません。 マージリクエストを作成または編集するとき、コードの所有者は、リクエストの承認を推奨する人として示されます。 これにより、適切な人の指名が簡単になります。







コード所有者の識別のサポートは、 GitLab 11.3リリースで導入されました。 将来のリリースでは、マージ要求ワークフローでのコード所有者の関与が増加します。 このために、 自動割り当ての機能と所有者による承認要件が機能します。











ユーザープロファイルページの外観の更新



で利用可能:コア、スターター、プレミアム、アルティメット、無料、ブロンズ、シルバー、ゴールド







GitLabにどの程度関与していても、アクティビティは重要な情報源であり、参加の指標であり、個人のプロフィールページに直接表示されます。 あなたの個人プロフィールは、あなたが何に興味を持ち、何に取り組んでいるかの簡単な考えを与えるべきです。







この号では、プロフィールページの外観を更新し、以前は慣れていたが今では短縮された個人的な貢献のスケジュールを通してあなたの活動を反映しています。 このページには、最近のアクティビティとGitLabで最も重要な個人プロジェクトも表示されます。











ユーザーメニューでのステータスの設定と表示



で利用可能:コア、スターター、プレミアム、アルティメット、無料、ブロンズ、シルバー、ゴールド







GitLab 11.2のリリースでは、現在の空き状況や気分を表示したり、お気に入りの動物の画像を簡単に表示できる個人的なステータスメッセージを最初に導入しました。







このリリースでは、ステータス設定がさらにシンプルでスムーズになりました。 ユーザーメニューで新しいアイテム「ステータスの設定」を選択すると、新しいモーダルウィンドウが表示され、コンテキストでステータスを直接設定およびリセットできます。 さらに、設定したステータスは、インストールされた顔文字とメッセージを含むフルネームとユーザー名の上に、ユーザーメニューに表示されます。











.gitlab-ci.yml



インクルードを使用する機能は、スターターからコアに移動しました



で利用可能:コア、スターター、プレミアム、アルティメット、無料、ブロンズ、シルバー、ゴールド







このリリースから、 .gitlab-ci.yml



での "include"演算子の使用がCoreバージョンで利用可能になったことを.gitlab-ci.yml



。 これにより、GitLabの無料版と有料版のユーザーに対してテンプレートやその他の一般的なリソースの互換性が確保され、すべてのユーザーがCI / CDパイプラインの再利用可能なコードフラグメントを使用した高度な方法を使用して開発を行うことができます。











特定のパスまたは特定のファイルでの変更のジョブonly



実行/除外



で利用可能:コア、スターター、プレミアム、アルティメット、無料、ブロンズ、シルバー、ゴールド







このような機能の必要性は、ユーザーのリクエストでしばしば確認されます。 特定のファイルまたは特定の(グローバル)パスで変更が発生するタスクに対して、 .gitlab-ci.yml



ファイルの/ except



ルールonly



を使用する機会を提供できることを誇りに思います。







これにより、リポジトリにさまざまな種類のリソース(アセット)またはアセンブリが含まれるユーザーに追加の制御が提供されます。 行われた変更の種類については、それらに対応する段階のみが実行されることが保証されています。 これにより、パイプラインの全体的な実行時間が短縮されます。











Auto DevOpsパイプラインに追加されたスケジュールされた増分展開



使用可能なエディション:PREMIUM、ULTIMATE、SILVER、GOLD







以前のリリースでは、Auto DevOpsで増分展開を構成することはすでに可能でした。このバージョンでは、スケジュールに従って増分展開を構成できるパラメーターを追加しました。 エラーが発生するまで、展開は特定のタイムラインで自動的に続行されます。











GitLab開発アプリケーションのKubernetes RBACサポート



で利用可能:コア、スターター、プレミアム、アルティメット、無料、ブロンズ、シルバー、ゴールド







インフラストラクチャを最初にセットアップするとき、または既存のインフラストラクチャに接続するとき、セキュリティが最も重要です。 役割ベースのアクセス制御(RBAC)はKubernetes 1.8リリースの一部として公開され、より詳細なKubernetesリソースアクセス制御を提供します。

GitLabとKubernetesを統合すると、GKEでRBAC対応クラスターを作成するか、既存のRBAC対応クラスターに接続できます。 これにより、インフラストラクチャのセキュリティが向上します。











Auto DevOpsパイプラインでのRBACサポート



で利用可能:コア、スターター、プレミアム、アルティメット、無料、ブロンズ、シルバー、ゴールド







Auto DevOpsは、RBAC対応Kubernetesクラスターとのインターフェースおよびそれらへのアプリケーションのデプロイをサポートするようになりました。

役割ベースのアクセス制御(RBAC)は、オペレーターがKubernetesクラスターの信頼性、セキュリティ、および効率を確保できるようにする重要なツールです。 Auto DevOpsをRBAC対応クラスターと組み合わせて使用​​すると、アプリケーションが強化されたインフラストラクチャセキュリティを確実に活用できます。











Auto DevOpsのPostgreSQLデータベースの移行と初期化のサポート



で利用可能:コア、スターター、プレミアム、アルティメット、無料、ブロンズ、シルバー、ゴールド







Auto DevOpsを使用して、アプリケーションを自動的に検出、ビルド、テスト、デプロイ、および監視する場合、追加機能が追加されます。 リリース11.4以降、Auto DevOpsは、PostgreSQLデータベースをプロジェクトに初期化または移行する機能を提供します。







プロジェクト変数を定義してPostgreSQLデータベースを初期化または移行するだけで、あとはAuto DevOpsが行います。











GitLab 11.4のその他の改善点



ユーザーがサブスクライブする通知のラベルのリスト



で利用可能:コア、スターター、プレミアム、アルティメット、無料、ブロンズ、シルバー、ゴールド







GitLabのラベルは、問題、マージリクエスト、エピックに適用できるため、非常に強力なツールです。 使用するタグが多いほど、それらを維持するのが難しくなる可能性があります。







前号では、プロジェクトタグリストページのタグで検索する機能を追加しました。 この問題では、タグで検索したり、名前、作成日、更新日でタグをソートしたり、通知があるタグのリストを表示したりできます。 この機能は、グループとプロジェクトの両方のラベルリストページで使用できます。











WIPマージリクエストフィルタリング



で利用可能:コア、スターター、プレミアム、アルティメット、無料、ブロンズ、シルバー、ゴールド







マージリクエストはGitLabの主要な部分です。 チームメンバーに、コード開発における透過的なコラボレーションを提供します。 特に、チームは作業を早期に共有することをお勧めします。 この場合、WIP機能(進行中の作業)を使用して、このマージ要求でアクティブな作業がまだ実行中であり、この段階ではまだ実行されていないことを示すことをお勧めします。







このリリースでは、この目的のために特別に設計されたフィルターのおかげで、ユーザーはWIPと非WIPのマージリクエストを区別しやすくなります。これは、グループレベルとプロジェクトレベルの両方でマージリクエストリストに適用できます。 これにより、ユーザーは、マージ前の最終レビュー段階にある要求ではなく、まだ作業の初期段階にある要求に集中できます。











現在のユーザーの明確に強調された@mentions





で利用可能:コア、スターター、プレミアム、アルティメット、無料、ブロンズ、シルバー、ゴールド







多くのユーザーは、問題またはマージリクエストに関する長期にわたる共同ディスカッションに参加することが多く、自分に特化したコメントをすぐに見ることは困難です。

このリリース以降、あなた(つまり現在のユーザー)に送信されたコメント( @mentions



)は特別な色で強調表示されます。 これにより、どのコメントがあなたに特に関連しているのかを確認でき、コメントにすばやく集中できます。











ボタンをクリックするだけでテーブルとリンクを挿入する



で利用可能:コア、スターター、プレミアム、アルティメット、無料、ブロンズ、シルバー、ゴールド







GitLabは、テキストを入力する必要があるGitLabで作業する場合、ほとんどの場合、GitLab Flavored Markdown(GFM)マークアップツールの使用をサポートしています。 GFMは、強力な書式設定と単純な構文を組み合わせています。 特に、GFMを使用してテーブルを作成できます。 これは、特に大きなテーブルでは困難でした。多くの文字を入力するか、必要に応じて前のテーブルを挿入してフォーマットする必要があったためです。 GFMは、URLの埋め込みもサポートしています。 ただし、特定の構文を忘れることがあります。







このリリースから、GFMエディターのテーブルボタンをクリックすると、新しいテーブルが自動的に追加されます。 次に、値を簡単に入力するか、テーブルを展開して必要に応じてフォーマットします。 この機能は、GitLab全体の説明とコメントで使用できます。







リンクボタンをクリックすると、URLリンクの構文スケルトンが自動的に作成されます。 簡単にそこにリンクを置き、その名前を記録できます。

テーブルを挿入する機能を提供してくれたGeorge Tsiolisに感謝します!

URLリンクを挿入する機能を提供してくれたJan Beckmannに感謝します!











作業スケジュールに新たな問題を含める



使用可能なもの:スターター、プレミアム、アルティメット、ブロンズ、シルバー、ゴールド







作業スケジュールは、作業フェーズ内で進行する作業をチームが追跡するのに役立ちます。 通常、作業量はフェーズの開始前に決定および合意されます。 ただし、このルールに対する重要な例外が発生する場合があり(たとえば、緊急事態やセキュリティ修正を引き起こしたエラー)、新しい問題の形で新しい作業量をスケジュールに追加する必要があります。







このリリースでは、作業中に発生し、行のジャンプにつながる新しい問題がタスクのスケジュールで考慮されるようになりました。











APIパブリケーションの拡張された重み



使用可能なもの:スターター、プレミアム、アルティメット、ブロンズ、シルバー、ゴールド







以前のリリースでは、パブリケーションの許容重量値を拡張しましたが、ゼロより大きい場合はほぼ何でもかまいません。







API , API.







" "



: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD







( ). .







, / .







!













: ULTIMATE, GOLD







( ) GitLab. «», «» «», . , , , , .







( ) , , API, .













: CORE, STARTER, PREMIUM, ULTIMATE







, GitLab - GitLab.







, . , , .













: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD







, GitLab. « » — , , .

!













: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD







, , .







GitLab 11.4 , . , , .

!













: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD







-. . , , , .







« ».







!













: CORE, STARTER, PREMIUM, ULTIMATE







, .











- Docker



: CORE, STARTER, PREMIUM, ULTIMATE







- , Docker. Docker , , #3605 .











Auto DevOps



: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD







11.4 Auto DevOps (GitLab.com) () , , , . Auto DevOps , .







, Auto DevOps, .









: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD







when



.gitlab-ci.yml



. , , , , , , , , .











Nurtch JupyterHub



: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD







, , .







JupyterHub, Kubernetes GitLab, Rubix Nurtch, DevOps. , .













: ULTIMATE, GOLD







, . , . , , .







GitLab 11.4 . « >CI/CD> », .













: ULTIMATE, GOLD







GitLab 11.4 . , , .











Git v2



: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD







, , . Git v2 — Git, , , ( ) (GitLab). .







. , (, git fetch origin master



) . , 100 000 , .. 10 .







Git v2 Git v2.18.0 . git config , git config --global protocol.version 2



. Git v2 GitLab.com SSH, .







Geo UX



: PREMIUM, ULTIMATE







Geo .







GitLab 11.4 Geo , . « », «» . «», .







UX !











Prometheus 2.0 Omnibus GitLab



: CORE, STARTER, PREMIUM, ULTIMATE







Omnibus GitLab Prometheus, . Prometheus 2.x, . . , - , 1.x.







Prometheus 2.4.2 GitLab 11.4 Omnibus, .







• 11.4 Prometheus 2.

• . gitlab-ctl prometheus-upgrade



, Prometheus , , . Prometheus .

• GitLab 12.0 Prometheus 2.0 . Prometheus 1.0 .

Prometheus 2.4.2, .







Geo



: PREMIUM, ULTIMATE







Geo . Geo GitLab 11.4:









Sidekiq







, GitLab Geo .







Geo SSH Git -



: PREMIUM, ULTIMATE, SILVER, GOLD







— Geo , GitLab. 11.3 SSH git push



.







, Geo URL-.











GitLab Runner 11.4



: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD







GitLab Runner 11.4! GitLab Runner — , CI/CD GitLab.







:



JSON

-

-





gitlab_runner_jobs_total

,

Fix K8S







GitLab Runner: CHANGELOG









: CORE, STARTER, PREMIUM, ULTIMATE, FREE, BRONZE, SILVER, GOLD







GitLab 11.4:







Markdown



, ,





diff

« » Gitaly







Omnibus



: CORE, STARTER, PREMIUM, ULTIMATE







redis



3.2.1. , . 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



0644



, 0755



.









Docker GitLab Runner



GitLab 11.4 ( 22 2018 ) Docker 1.12 (API 1.24) Docker . 11.4 .







: 22 2018 .







Prometheus 1.x Omnibus GitLab



GitLab 11.4 ( 22 2018 ) Prometheus 1.0 Omnibus GitLab. Prometheus 2.0, 1.0. 2.0 , , .







GitLab 12.0 Prometheus 2.0, . Prometheus 1.0 .







: GitLab 12.0









GitLab 11.3 11.4, . .







, , , .







GitLab.com 34 , .







GitLab Geo Geo .







, Omniauth . , . , omniauth, 11.4. , , , Omniauth .









, :







GitLab Community Edition

GitLab Enterprise Edition

GitLab Runner







設置



GitLab, . GitLab .









.







GitLab



GitLab : (SaaS) .







: .







Core : , GitLab .

Starter : , , , .

Premium : , , 24/7.

Ultimate : , .







SaaSGitLab.com : , GitLab; .







Free : . Free , Gold .

Bronze : , .

Silver : , DevOps, .

Gold : CI/CD. Gold , .








All Articles