GitLab 9.3:コード品質とプロジェクト間のパイプライングラフィックスをリリース
GitLab 9.3では、コード品質、プロジェクト間のパイプライングラフィックス、共同開発インデックス、ローカリゼーションの改善、スニペットの説明などを導入しています!
GitLabは、開発サイクル全体の統合製品です。 毎月のリリースごとに、コードの共同作成、継続的な統合、リリースの自動化、監視に新しい側面を追加するよう努めています。 そのため、GitLab 9.3では、コードの品質を向上させ、開発サイクル時間を短縮し、大規模プロジェクトの管理を簡素化できる機能を導入しました。
GitLab 9.3はコード品質レポートを追加し、マージ要求ウィジェットに直接表示されます。 これらのレポートにより、提案された変更がコードおよびプロジェクト全体の状態に与える影響を即座に評価できます。 これにより、レビューの時間が短縮され、マージ前にエラーを見つけることもできます。
最新の生産レベルのソフトウェア、特にマイクロサービスアーキテクチャを使用するソフトウェアは、多くの場合、さまざまなプロジェクトで構成されています。 このようなソフトウェアでは、プロジェクトの相互作用を理解することが非常に重要です。 GitLab 9.3では、 プロジェクト間のパイプラインスケジュールを使用して、アップストリームとダウンストリームのパイプライン間の関係を確認できます。
GitLab 9.3は、GitLabの各要素の使用方法を他の人と比較して評価する機会も提供します。 このために、 共同開発インデックスが使用されます。 このインデックスを使用すると、他のユーザーと比較してシステムの使用効率を簡単に評価でき、ワークフローのどの要素を改善できるかを確認できます。
GitLabの機能とその新しい機能を評価し、GitLabが開発プロセス全体を1つのプラットフォームに適合させることを確認できる短いビデオを作成しました。
今月のMVP - Huang Tao
Huangは、 GitLabのいくつかの新しい言語へのローカライズに大きく貢献しています。 黄に感謝
GitLabコード品質(EES、EEP)
正しいコードレビューの重要性を過大評価することは困難です。 加えられた変更を検討するとき、コードの品質、実装、フォーマットなどに注意を払うことが重要です。 レビューが定性的に行われたとしても、コードの品質を評価せずにこのプロセスの一貫性を達成することは不可能です。
GitLabコード品質を作成して、コードレビュープロセスを高速化し、ユーザーにコード品質の比較評価を行い、マージリクエストウィンドウで適切なレポートを直接作成する機会を提供します。 これで、コードの品質が低下した場合、GitLabがこれを通知し、マージ前に状況を修正できます。
GitLab Code Qualityの詳細については、ドキュメントをご覧ください。
プロジェクト間コンベアスケジュール(EEP)
大規模プロジェクト、特にマイクロサービスアーキテクチャを使用するプロジェクトでは、最終製品は多くの場合、相互に依存するコンポーネントのセットで構成されます。 このため、特定のパイプラインが開始された理由、またはあるプロジェクトが別のプロジェクトでコミットされた後にビルドされた理由を理解するのが難しい場合があります。
GItLab 9.3では、アップストリームプロジェクトとダウンストリームプロジェクトのリンクをパイプラインに直接表示する機能が導入されたため、1つのウィンドウでチェーン全体のステータスを簡単に確認できます。 現在、プロジェクト間の関係を表示するために、トリガーで$CI_JOB_TOKEN
変数を使用する必要はありません-チャートは自動的に作成されます。
クロスプロジェクトコンベアスケジュールの詳細については、ドキュメントをご覧ください。
共同開発指数(CE、EES、EEP)
昨年9月、 共同開発 の原則(会話型開発-ConvDev) を発表しました 。 この方法論の実装により、ソフトウェア開発プロセスがアイデアから実装までスピードアップされます。
GitLab 9.3には、この方法論の使用の数値表示を提供する共同開発インデックスが含まれています。 このインデックスを使用すると、他のGitLabユーザーと比較してパフォーマンスを評価したり、改善できるワークフローの要素を確認したりできます。
このバージョンでは、このインデックスはシステム管理者のみが使用できます。 インデックスは、GitLabインスタンスのすべてのアクティブユーザーのアクティビティに基づいています。
パイプラインセキュリティを強化するための保護された変数(CE、EES、EEP)
シークレット変数は、特定の情報を外部ユーザーから隠す必要がある場合に役立ちますが、プロジェクトに変更を加えるためのアクセス権を持つユーザーには公開されています。 このアプローチを使用すると、理想的には実行すべきではないユーザーが開発環境を変更するような状況が発生する可能性があります。 それらはmaster
への書き込みアクセス権さえ持っていないかもしれません。
保護された変数の導入により、GitLab 9.3は展開許可などの機密情報のセキュリティの追加レイヤーを導入します。 Settings
-> [ CI/CD Pipelines
Settings
、変数を「保護」としてマークできます。 このような変数は、保護されたブランチで実行されるタスクでのみ使用できるため、適切なアクセス権を持つユーザーのみがアクセスできます。
ユーザーアクションの集中ログとユーザーアクションのより詳細な改訂(EEP)
多くの企業は、開発サイクル全体を通してアクセス権の変更のレポートを必要としています。 GitLab 9.3では、各システム管理者は、ユーザーアクションの改善された集中ログにアクセスできます。このログには、グループ、プロジェクト、および個々のユーザーのアクションのすべての関連イベントが含まれます。
さらに、このログでは、タイプと名前でイベントをフィルタリングできるため、特定のグループ、プロジェクト、またはユーザーのイベントを簡単に見つけることができます。
簡素化されたリポジトリー設定(CE、EES、EEP)
時間が経つにつれて、プロジェクトとグループに多くの新しい機能と構成オプションが追加され、その結果、GitLab設定の数が大幅に増加しました。
GitLab 9.3では、 設定ページを簡素化する作業を開始します 。 最初のステップは、 リポジトリ設定ページの読みやすさを改善することでした。
設定のグループ化を改善し、各セクションのすべての設定の概要を追加するよう努めています。
その他の改善
JIRA設定の改善(CE、EES、EEP)
このリリースでは、JIRA統合設定が改善され、GitLabプロジェクトとJIRAサーバー間の接続のインストールとテストが簡単になりました。 個別のWeb URLおよびJIRA API URLフィールドも追加されました。 この分離は、JIRA REST APIとJIRAタスクが異なるアドレスにある場合に役立ちます。
グループラベルのアクセス許可(CE、EES、EEP)
プロジェクトのショートカットに加えて、レポーター、開発者、マスター、および所有者の権利を持つユーザーは、グループショートカットを作成および編集できるようになりました 。 以前は、マスターと所有者のみがこれを行うことができました。
GitLab許可モデルの詳細については、ドキュメントをご覧ください。
別のページに移動せずにタスクの説明を編集する(CE、EES、EEP)
タスクの説明は、複数のチームの共同作業における参照ポイントであり、情報の主な情報源です。 GitLab 9.3では、タスクの説明を編集するときに別のページへの移行を削除しました。 [ Edit
]をクリックし、変更を加え、[変更をSave changes
]をクリックしSave changes
-この間、タスクページにとどまります。 別のページへのリダイレクトがないため、編集中にタスクのコメントをスクロールして、 GFMテキストをコピーして説明に貼り付けることもできます。
GitLabタスクの詳細については、ドキュメントをご覧ください。
タスクボードインターフェイスの強化(CE、EES、EEP)
チームごとにタスクボードを使用する独自のアプローチがあることを理解しています。 それらとの対話を簡素化するために、 Backlog列とClosed列を折りたたむ機能を追加しました。 また、ボードに新しいタスクを追加するプロセスに変更を加えました。 +
クリックすると+
タスクがリストの上部に自動的に追加され、長いリストの作業が大幅に簡素化されます。
GitLabタスクボードの詳細については、ドキュメントを参照してください。
プロジェクトのホームページとリポジトリファイルページのローカライズ(CE、EES、EEP)
GitLab 9.2では 、開発サイクルの分析ページをドイツ語とスペイン語に翻訳することにより、 ローカライズプロセスを開始しました。 GitLab 9.3では、最も頻繁に使用されるページ(プロジェクトホームページとリポジトリファイルページ)を翻訳しました。
GitLabコミュニティはすでに他の言語-中国語、ブルガリア語、ブラジルポルトガル語を追加し始めています。 接続したい場合は、変更を確認し、ガイドラインを確認できます。
プライベートコンテナーレジストリイメージ(CE、EES、EEP)へのアクセス
Dockerに基づいてプロジェクトをデプロイする場合、環境で実行する必要があるたびにイメージをプルアップする必要があります。 組み込みのGitLabコンテナーレジストリはコンテナーを保存するための明らかな選択肢であるため、GitLab 9.3ではそれを使用してそれらを配布することもできます。
新しいread_registry
を使用して個人用アクセストークンを作成すると、Kubernetesなどの外部サービスが必要に応じて画像にアクセスするために使用できる永続的な展開トークンが得られます。
詳細については、 パーソナルアクセストークンに関するドキュメントをご覧ください。
レガシーdiff(CE、EES、EEP)の議論の変更に関するシステムノート
マージリクエストコードのレビューを通じて、コードを常に変更し、これらの変更についてコメントします。 多くの場合、これを追跡するのは困難です。 特に、特定のコード行についてコメントを開始すると、他の誰かが同時にそこに変更を加えます。 あなたがすでに変更したことを議論することになるかもしれません。
このリリースでは、システムノートを追加しました-ラインがすでに変更されていることを示すインジケータです。 特定の行のディスカッションに参加している場合、その行が既に変更されていることがわかります。その行をクリックすると、変更を確認できます。
追加のコンベヤーの自動キャンセルは、すべてのプロジェクト(CE、EES、EEP)に含まれています
不要なパイプラインを自動的に排除し 、開発にかかる時間を節約するという利点を最大限に活用するために、GitLab 9.3はこの動作をすべての既存および新規プロジェクトに拡張します。
余分なパイプラインをキャンセルする必要がない場合は、ニーズに合わせて適切なパラメーターを構成できます 。
今後のNginxアップデート(CE、EES、EEP)
GitLab 9.4の今後のリリースの一部として、Omnibusに含まれるnginxのバージョンを新しい安定バージョン1.12にアップグレードします。 このバージョンには、以前の安定バージョンに対するいくつかの改善が含まれています。 たとえば、 ログ出力をフィルタリングできるようになりました。
ユーザーにとっては、この更新は理解できるはずですが 、nginx構成の設定を変更した場合は、1.12にアップグレードした後に正しく動作することを確認してください。
Debian 9のサポート(CE、EES、EEP)
最新のDebian 9リリースのサポートが利用可能です。 GitLab 9.3の公式Omnibusパッケージは、インストールセクションからダウンロードできます。
GitLab Mattermost 3.10(CE、EES、EEP)
GitLab 9.3には、 Mattermost 3.10が含まれています。これは、Slackの代替となるオープンソースです。 このバージョンでは、トルコ語、新しいホットキーなどがサポートされています。
ドキュメントの GitLab Mattermostの変更に関する詳細をお読みください。
オムニバス拡張(CE、EES、EEP)
関連パッケージGitおよびPostgreSQLが更新されました。 Gitはバージョン2.13.0にアップグレードされ、Postgresは9.6.3にアップグレードされました。
スニペットの説明(CE、EES、EEP)
スニペットに説明が追加されました。 これは、 前のリリースで追加したパーソナルスニペットにのみ適用されます。 スニペットは、コード上で迅速かつ簡単にコラボレーションを行うための強力なツールです。 このリリースでは、マージリクエストと同じくらい簡単にそれらを操作できます。
パフォーマンスの改善(CE、EES、EEP)
各リリースでGitLabのパフォーマンスを改善し続けています。 これにより、すべてのGitLabインスタンスがさらに高速になるだけでなく、GitLab.comという100万人のユーザーのインスタンスの生産性も向上します。
GitLab 9.3では、プロジェクトリストの出力を高速化し続け、また、リポジトリのミラーリング方法を変更することにより、一般的にサーバーのパフォーマンスを向上させます。 ファイル構文の強調表示がキャッシュされるようになり、全体的なパフォーマンスが向上し、コミットの表示が高速化されました。
GitLab 9.3には、GitLabを高速化するだけでなく、サーバーインフラストラクチャ全体への影響を軽減する多くのパフォーマンス改善があります。
一括タスク編集の再設計(CE、EES、EEP)
一括編集タスクを最新リリースよりも簡単でわかりやすくしました。 現在、複数のタスクを同時に更新する場合、他の多くのGitLab要素と同じサイドバーが使用されます。
詳細については、 GitLabタスクのドキュメントをご覧ください。
検索とフィルタリングの機能強化(CE、EES、EEP)
検索とフィルタリングは徐々に改善されています。 これで、カスタムアバターを見ることができます。
また、フィルターをクリックするとドロップダウンメニューが表示され、フィルターをすばやく変更できます。
GitLabの検索ドキュメントで詳細を読むことができます。
GitLabサブグループの機能強化(CE、EES、EEP)
GitLab 9.0では、 サブグループを追加して、グループとプロジェクトの管理をより柔軟にしました。 各リリースでは、この機能の改善を続けています。今回は、サブグループでのナビゲーションをよりわかりやすくしました。 グループページでは、ページを一度に検索して読み込む代わりに、すべてのプロジェクトとサブグループを含む展開可能なツリーを表示できます。
高度なリポジトリファイルブラウジング(CE、EES、EEP)
リポジトリ内のファイルを表示すると、追加情報が同じページに自動的に表示されるようになりました。
バージョン9.3以降、 .gitlab-ci.yml
または.gitlab/route-map.yml
かどうか、および特定の解析エラーを確認できます。 LICENSE
ファイルも分析されます。これにより、追加の詳細が必要な場合に、特定のライセンスに関する情報へのアクセスが簡単になります。 また、プロジェクトが依存しているものを理解するために、依存関係管理システムを調べることができます。依存関係管理システムは自動的に表示されるようになりました。
自動的に通信するディレクトリ(CE、EES、EEP)
ああ、バッグ、これらの貴重な知恵の断片、組み立てられ、すぐに使用できます。 GitLabは、ファイルブラウザ内のディレクトリを自動的に検出してリンクするようになり、毎日クリックを節約できます。 エレガントでしょ?
この機能は、次のディレクトリと言語で機能します。
-
*.gemspec
(Ruby) -
package.json
(Node.js) -
composer.json
(PHP) -
Podfile
(Objective-C) -
*.podspec
(Objective-C) -
*.podspec.json
(Objective-C) -
Cartfile
(Objective-C) -
Godeps.json
(go) -
requirements.txt
(Python)
スケジュールされたパイプライン(CE、EES、EEP)のAPIサポート
GitLab 9.2では、ユーザーインターフェイスを使用して構成できるスケジュールされたパイプラインをリリースしました。 GitLab 9.3では、一連のAPIを介してスケジュールされたパイプラインを作成および管理し、他のツールとの統合をより簡単かつ効率的にする機能も追加しました。
詳細については、スケジュールされたパイプラインAPIドキュメントを参照してください。
マージ要求のパフォーマンスへの影響の定量的測定(CE、EES、EEP)
GitLabの以前のバージョンでは、マージリクエストページでメモリ上のマージリクエストの効果を確認する機能を追加しました 。 GitLab 9.3では、さらに先へ進むことにしました。マージの30分前と30分後の平均メモリ使用量の変化を測定するようになりました。
開発者は、毎日使用するツールからの直接的なフィードバックを通じて、自分の行動が生産性に与える影響を知ることがこれまで以上に簡単になりました。
Prometheusでアプリケーションを監視するためのドキュメントで詳細を読む
GitLab Runner 9.3(CE、EES、EEP)
また、このリリースでは、GitLab Runner 9.3をリリースしました。
最も重要な変更:
- git checkout( merge request )の実行を制御する変数
GIT_CHECKOUT
追加しました - Kubernetes executorに基本的なボリュームサポートを追加しました( マージリクエスト )
- Dockerエグゼキュー
cpus
オプションのサポートが追加されました( マージ要求 ) - Dockerエグゼキュー
userns
オプションのサポートが追加されました( マージ要求 ) - リクエストのロールバックメカニズム( マージリクエスト )を追加しました
- DockerエグゼキューターでのDocker削除の改善( マージリクエスト )
CHANGELOGにすべての変更のリストがあります。
追加のGitLabサービスメトリック(CE、EES、EEP)
GitLab 9.0では、 Prometheusを使用してGitLabサービスの監視を導入しました。これにより、Redis、PostgreSQL、およびシステム全体のパフォーマンスを評価できます。
GitLab 9.3の一部として、実験的なrubyコードベース監視サービスを追加しました。 これまでのところ、パイプラインステータスやユーザー認証など、いくつかのインジケーターのみが表示されています。 将来のリリースでは、GitLabの他の部分に監視を追加します。
詳細については、追加のメトリックのドキュメントを参照してください。
詳細なリリースノートと更新/インストール手順は、元の英語の投稿で見つけることができます: https : //about.gitlab.com/2017/06/22/gitlab-9-3-released/
英語からの翻訳は、翻訳チーム「Brain and Partners」、 http://nadmosq.ruによって行われました。 翻訳はrishavantとsgnl_05によって行われました 。