GitLab 9.4リリース:関連タスクとWebアプリケーション監視
GitLab 9.4では、関連タスク、Webベースのアプリケーション監視、更新されたナビゲーション、グループメールストーンなどを紹介します!
率直に仕事をするとき、誰かを驚かせるのは難しいです。 しかし、このアプローチにより、イノベーションの理由について話したり、GitLabが将来さらに良くなる方法を説明したりすることができます。
GitLab 9.4は、新しい機能を追加するだけでなく、将来の多くの技術革新の基盤にもなります。 タスクを公式に相互に関連付けることができ、CIの変数の機能が大幅に拡張され、監視システムは追加の設定なしでより多くのメトリックを分析します。
さらに、 新しいナビゲーションシステムのオプションのベータ版を使用して、将来を検討する機会を提供します。 ユーザーと協力することで、誰もが楽しめる改善ができることを願っています。
これに加えて、 GitLab PowerUp for Trelloを使用してTrelloとのシンプルで直感的な統合を追加しています。
また、統合の議論を続けると、バージョン9.4にはGitLab用の新しいSlackアプリケーションが含まれています。
また、一目で十分でない場合は、 Auto DevOpsを使用してDevOpsツールキットのカスタマイズの完全な自動化を実装するよう取り組んでいます。 この機能は、アプリケーションの完全な分析を提供し、Kubernetesでのアセンブリ、テスト、および展開を自動的に構成します。 Auto DevOpsの概要ページで進行状況を確認できます。
今月のMVP - Matt Gresko
Mattは、elasticsearch AWSクラスターの使用時に EC2プロファイル認証情報のサポートを追加しました 。 以前は、静的IAMデータのみを使用できました。 これは、GitLabとelasticsearchの統合を大幅に改善する厄介な仕事です。 これらの革新により、GitLabがAWSで実行されると、 Advanced Global Searchのいくつかの側面が自動的に設定されます。
Matt は、AWSの初期実装にも取り組みました。 ありがとうマット
関連タスク(EES、EEP)
リンクを別のタスクから1つのタスクに追加すると、GitLabはそれを自動的に短縮し、クロスリンクを作成します。 しかし、タスクが成長し、プロジェクトがより複雑になると、リンクを追跡して必要なタスクをすばやく見つけるのが難しくなります。
この問題を解決するために、関連タスクの機能を紹介します。 これで、タスクを関連するものとして宣言できます。その後、別のタスクへのリンクとそのステータスおよび名前が各タスクの説明に表示されます。
このようなリンクを作成するには、現在のリンクにリンクするタスクにリンクを追加するか、 #
を入力して検索で検索します(これは以前に実行できた可能性があります)。 将来的には、このメカニズムを使用してタスク間に他のタイプの関係を追加する予定です。
更新されたナビゲーション(CE、EES、EEP)
GitLabとの連携を可能な限りシンプルかつ迅速にするため、ナビゲーションの更新に取り組んでいます。 ナビゲーションの変更は最初は混乱する可能性があるため、GitLab 9.4のオプションの構成として最初の更新手順をリリースします。
有効にするには、画面の右上隅にあるプロフィールアイコンをクリックし、[ 新しいナビゲーションを有効にする]オプションを選択します。
画面上部のグローバルナビゲーションに変更を加え、左側のメニューにコンテキストナビゲーションも導入しました。その内容は、表示しているページによって異なります。 新しいインターフェースの作業は継続されています。 彼は数か月以内に最終的に現在のナビゲーションオプションを置き換えます。 開発のプロセスに関する情報、および今後行われることに関する情報は、 この投稿にあります。
ナビゲーションの更新の詳細については、[ドキュメント]をご覧ください
Webアプリケーション監視(CE、EES、EEP)
GitLab 9.0では、Kubernetesがデプロイしたアプリケーションから統計 (CPUとメモリの使用量) を収集するCI / CDデプロイメントと統合されたパフォーマンスモニタリングシステムをリリースしました 。 これは成功した最初のステップでした。現在、Kubernetesだけでなく、アプリケーションのWebモニタリングを開始しています。
GitLabは、スループット、エラーレート、遅延など、システムエクスペリエンスに影響する主要なインジケーターを自動的に追跡するようになりました。 PrometheusをサポートされているロードバランサーまたはHTTPサーバーのいずれかに接続するだけで、統計の追跡が自動的に開始されます。
システムでの作業がシンプルで直感的であることは非常に重要です。 GitLabは、開発者が毎日使用するツールにパフォーマンスフィードバックを含めることで、これにさらに近づいています。
ドキュメントのアプリケーションのWeb監視の詳細
グループレベルのシークレット変数(CE、EES、EEP)
機密変数は、機密情報を安全に保存する場所が必要な状況で非常に役立ちます。 これまでのところ、秘密変数はプロジェクトレベルで保存されてきました。 ただし、同じグループ内のさまざまなプロジェクトには、一般的な展開情報と外部サービスにアクセスするための資格情報が保存されることがよくあります。
グループレベルの秘密変数の導入により、プロジェクト間で変数を複製する必要がなくなります。データを1回入力するだけで、グループ内の各プロジェクトまたはサブグループが自動的にアクセスできるようになります。 このデータの更新も簡単です。1か所で変更するだけで、すべてのプロジェクトで自動的に更新されます。
グループレベルの秘密変数の詳細については、ドキュメントをご覧ください。
パイプラインスケジュールの変数(CE、EES、EEP)
GitLab 9.2では、 パイプラインスケジュールを追加しました。これにより、特定の時間間隔でパイプラインの自動開始を構成できます。 これに加えて、多くのチームは、スケジュールの実行時に特定の変数の値を設定できるようにしたいと考えています。
GitLab 9.4では、パイプラインスケジュールを作成または変更するときに変数を定義する機能を追加します。これらの値は、すでに定義されているすべての変数に追加されます。 この機能を使用すると、特定の実行に対して既存の変数を再定義することもできます。たとえば、特定のパイプラインによるテストの実行を1日変更できます。
パイプラインスケジュールの変数の詳細については、ドキュメントをご覧ください。
環境の秘密変数(EEP)
特定の特定の環境に展開するときに使用する値を決定するために変数を使用することは、多くの場合正しい判断です。 異なる環境(たとえば、 ステージングとプロダクション )では、同じタスク(たとえば、アプリケーションの名前)を実行するために異なる値の変数が必要になる場合があるため、いくつかの変数と対応する環境の間に直接的な関係を作成することが重要です。
GitLab 9.4では、この問題を解決するために環境の秘密変数が追加されています。 開発者は、特定の変数を受け取る環境を指定できるようになりました。 review/
などの動的環境を含めることもできreview/
。 そのため、さまざまな環境に簡単にデプロイできます。
環境に関する秘密変数の詳細については、ドキュメントをご覧ください。
TrelloのGitLabパワーアップ(CE、EES、EEP)
TrelloとGitLabを同時に使用していますか? 新しいGitLab Power-Upでさらに簡単になりました! Trelloに接続するには、 Power-Ups
セクションに移動してPower-Up GitLab
ます。 設定後、GitLabマージリクエストをTrelloカードに直接添付できます。
Trelloでは、 gitlab.com/api/v4
のgitlab.com/api/v4などのドメインを構成し、個人トークンを追加する必要があります。
Trello向けGitLab Power-Upの詳細については、ドキュメントをご覧ください。
GitLab用のGitLab Slackアプリ(CE、EES、EEP)
GitLabはすでにSlack(およびMattermost 、 Microsoft Teams 、 HipChat )に深く接続していますが、Slackアプリディレクトリにはまだアプリがありません。 これで完成です! SlackをGitLab.comプロジェクトに統合するのがはるかに簡単になりました。
GitLabのプロジェクト設定( 「設定」>「統合」 )からアプリケーションとの統合を構成できます。 まもなくSlackディレクトリからも利用できるようになります。 Slackとともに、プライベートインスタンスが近い将来同じSlackアプリケーションを使用できるようにするために取り組んでいます。 そしてもちろん、 ドキュメントに記載されている手順に従って、プライベートインスタンスをSlackと手動で統合することもできます 。
詳細については、 GitLab.comのGitLab Slackアプリのドキュメントを参照してください。
GitLab 9.4のその他の改善点
ローカライズの改善(CE、EES、EEP)
GitLabのローカライズで徐々に加速しています。 中国語、フランス語、日本語、ブラジルポルトガル語などの言語の追加に協力してくれたコミュニティのメンバーに感謝します。 このビジネスへの継続的な貢献に感謝します。
GitLab 9.4では、コミットページのサポートローカライズを追加しました。
グループのマイルストーン(CE、EES、EEP)
マイルストーンは、タスク追跡の主要な部分の1つです。 多くの場合、タスクのスプリント(35週目)、リリース(バージョン9.4)、またはカテゴリ(バックログ)をマークし、リクエストをマージするために使用されます。 多くの場合、マイルストーンは複数のプロジェクトを対象とします。複数のプロジェクトのマイルストーンを一度にすばやく作成できます。 さらに改善: グループのマイルストーンを作成する機能を追加しました。
グループマイルストーンは対応するプロジェクトマイルストーンとまったく同じように動作しますが、グループマイルストーンはグループで作成され、そこからこの(親)プロジェクトに直接属するすべてのプロジェクトで使用できます。
グループマイルストーンを作成するには、グループに移動し、[ 問題 ]をクリックしてから[ マイルストーン ]をクリックします。
詳細については、グループマイルストーンドキュメントをご覧ください
GitLab Geoの機能強化(EEP)
重要な変更:
- GitLab GeoはPostgreSQLレプリケーションスロットをサポートし、GeoセカンダリノードがプライマリGeoノードと同期しなくなるのを防ぎます。 プライマリノードでこれを正確に使用する方法- ドキュメントを参照してください。
- 追加の同時クローン操作を追加することにより、Gitデータレプリケーションのパフォーマンスが向上しました。
- Geoには、オリジナルバージョンのイベントログカーソルが付属しています。これにより、Gitリポジトリを更新する必要がある場合にセカンダリトラックを使用できます。 将来的には、Geoシステムフックの使用を禁止します。
CIアーティファクトのオブジェクトストレージ(EEP)
企業は組織全体にCI / CDを実装し続け、アーティファクトリポジトリは成長しています。 GitLab 9.4では、既存のCIアーティファクトをAmazon S3に移動して、追加のローカルスペースを解放し、必要な数のアーティファクトを効率的かつ確実に保存できます。 現在、この操作は、ローカルのアーティファクトをS3に移動するたびに実行する必要がありますが、次の反復では自動的に行われ、すべての新しいアーティファクトは作成後すぐにオブジェクトストアに保存されます-手動の移行はありません。
CI / CD(CE、EES、EEP)用の高度なDockerセットアップ
GitLab 9.4では、 .gitlab-ci.yml
カスタマイズオプションが.gitlab-ci.yml
改善され.gitlab-ci.yml
。 これらは、パイプラインに使用するDockerイメージをより柔軟にカスタマイズできます。 これらの機能を利用するには、GitLab Runnerバージョン9.4以降が必要です。
これで、Dockerイメージの特別なentrypoint
を定義して、デフォルトのentrypoint
を上書きできます。 以下は、 /bin/sh
エントリポイントを構成する例です。これにより、GitLab CIに適したイメージが追加の変更なしで機能します。
image: name: super/sql:experimental entrypoint: ["/bin/sh"]
また、サービスのエイリアスを定義して、同じDockerイメージの複数の並列インスタンスを実行し、構成ファイルでコマンドを直接定義することもできます。
services: - name: super/sql:latest command: ["/usr/bin/super-sql", "run"] alias: super-sql-1 - name: super/sql:latest alias: super-sql-2
Docker Advanced Configurationドキュメントの変更の詳細
セキュリティ:SSL LDAP証明書の検証(CE、EES、EEP)を追加しました
SSLを介したLDAP証明書検証のサポートを追加しました。 デフォルトでは、GitLab 9.5のリリースまで下位互換性を提供するために、このオプションは無効になります。 さらに、安全な接続の構成を簡素化するために、CA証明書ファイルとSSLバージョンを定義できるようになりました。 ssl
およびtls
暗号化メソッドの名前はstart_tls
それぞれsimple_tls
およびtls
変わりました。
LDAPドキュメントを読む
CI / CD設定のカスタムパス(CE、EES、EEP)
GitLabは、リポジトリのルートにあるYAMLファイル.gitlab-ci.yml
でCI / CD設定を定義します。 パイプラインを定義するために別の場所を定義する必要がある場合があります。たとえば、SVNリポジトリをミラーリングしていて、プロジェクトのルートにファイルを保存できない場合です。
GitLabバージョン9.4以降では、 Settings> Pipelinesで特別なパスを定義できます。これにより、 .gitlab-ci.yml
代わりにCI / CD設定が読み取られ.gitlab-ci.yml
。 $CI_CONFIG_PATH
という変数は、設定の現在の場所にアクセスする必要があるジョブで使用できます。
GitLab CI / CDドキュメントの詳細を読む
CI / CD構成の新しいキャッシュポリシー(CE、EES、EEP)
デフォルトでは、キャッシュプロセスはファイルのダウンロード、実行、および最後の再ロードで構成されます。 このプロセスへの変更は、今後の起動のために保存されます。 これは、プルプッシュキャッシュポリシーと呼ばれます。
デフォルトのキャッシュ手順は、作業の依存関係を復元およびアーカイブすることで構成されます。これにより、後続の起動を高速化できます。 キャッシュされたコンテンツに変更が加えられた場合、デフォルトでキャッシュサーバーに書き込まれます。これはプルプッシュキャッシュポリシーでもあります。
特定のジョブでキャッシュファイルを更新する必要がない場合は、 policy: pull
を設定してダウンロード手順をスキップできます。ジョブ設定を取得します。 また、以前のコンテンツを参照せずに常にキャッシュを再作成する作業がある場合、 policy: push
を使用して、キャッシュサーバーへの不要な負荷を回避できます。 この機能を使用するには、GitLab Runnerバージョン9.4以降が必要です。
今後のOmnibusパッケージ署名(CE、EES、EEP)
8月22日の次のリリースから、すべての新しいパッケージに署名します。 署名済みパッケージ9.5.0に加えて、最新の2つのリリース(9.4および9.3)の署名付きバージョンも提供します。
パッケージに署名することにより、GitLabのインストールに必要な.deb
ファイルと.rpm
ファイルが誰によっても変更されていないという確信が増します。
GitLab Runner 9.4(CE、EES、EEP)
また、このリリースでは、GitLab Runner 9.4をリリースしました。
最も重要な変更:
- Kubernetes Partition Support Enhancements( マージリクエストとマージリクエスト )
-
.gitlab-ci.yml
でのキャッシュポリシーのサポート( マージリクエスト ) -
.gitlab-ci.yml
での高度なDocker設定( マージリクエスト ) -
unregister
に--all
オプションが追加されました( merge request ) - Go 1.8への切り替え( マージリクエスト )
変更の完全なリストについては、CHANGELOG GitLab Runnerを参照してください。
詳細なリリースノートと更新/インストール手順は、元の英語の投稿で見つけることができます: https : //about.gitlab.com/2017/07/22/gitlab-9-4-released/
英語からの翻訳は、翻訳チーム「Brain and Partners」、 http://nadmosq.ruによって行われました。 翻訳はrishavantとsgnl_05によって行われました 。