GitLab 9.5では、GPGコミット検証、プロジェクトテンプレート、失敗したCIジョブの自動繰り返し、マージリクエストdiffファイルのナビゲーション、大幅なパフォーマンスの改善などを導入しています。
統合製品から毎月のリリースまで、GitLabで行うすべてのことは、主に開発時間の短縮を目的としています。 各リリースでは、より短い時間でより多くの作業を行えるよう努めていますが、製品を使用するプロセスはできる限り明確で直感的であることを忘れないでください。 GitLab 9.5も例外ではありませんでした。 このリリースには、ナビゲーションの改善、事前構成されたCIを備えた新しいプロジェクトテンプレート、およびパフォーマンスとCIの自動化を追跡するための新機能が含まれています。これらはすべて、開発に費やす時間と労力の削減に役立ちます。
このリリースはバージョン9.xの最後です。GitLab10.0のリリースは9月22日に予定されています! それまでの間、第9シリーズの最後に一連の優れた新機能を紹介します。
GitLabでの作業を簡素化するために、不必要なインターフェイス要素を削除してナビゲーションを更新しました-GitLabインスタンスをナビゲートするために必要なクリックが少なくなりました。 ホバーしたときに新しいアイコンとナビゲーションオプションも追加しました。
新しいプロジェクトの開始がより速くなりました。 GitLab 9.5では、事前設定されたCIで新しいプロジェクトをすばやく作成できるプロジェクトテンプレートを提供します。
開発時間の削減を継続し、 失敗した GitLab CI / CD ジョブを自動的に繰り返すことを可能にしました 。 失敗した作業のために「再試行」を押すためだけに、プロジェクトパイプラインに戻る時間を費やす必要がなくなりました。
GitLab 9.5には、開発サイクルの後期段階の改善も含まれています。 自動展開アプリケーションの自動監視の追加により、 アプリケーションのフィードバックとシステムメトリックの収集が簡素化されました。
最後になりましたが、多くのパフォーマンスの改善が追加されました-GitLabはこれまでになく高速です!
今月のMVP- アレクシス・レイゲル
Alexisは、署名済みコミットの検証をGitLabに追加しました。 これで、GPG署名を含むすべてのコミットは、コミットの作成者の横に確認ステータスを表示します。
素晴らしい革新、私たちは皆それを本当に気に入っています! ありがとうアレクシス
GPGコミット検証(CE、EES、EEP)
Gitに変更をコミットする場合、作成者を指定できます。 同時に、検証は実行されません。これにより、作成者が別の人物を示すことができます。
GPGコミット署名は、コミットに署名できるようにすることでこの問題を解決します。 公開鍵に対応する秘密鍵を持っているのは彼だけであるため、署名は明らかに著者を示します。
GitLab 9.5には、GPGコミット署名のサポートが含まれています。 メニュー設定→GPGキーで公開キーをロードできます。 署名されたコミットは、GitLabに「確認済み」として表示されます。
この機能を導入してくれたAlexis Reigelに感謝します!
ドキュメントの GPGコミット署名の詳細
新しいナビゲーションの強化(CE、EES、EEP)
Gitlab 9.4では、 更新されたナビゲーションのプレビューが導入され、GitLabの操作が簡単になりました。
コミュニティにすばらしいフィードバックを感謝します。 私たちはそれらに耳を傾け、その結果、GitLab 9.5には多くの関連する改善が含まれています。
これで、左側のメニューを折りたたむことができ、画面上のスペースが解放されます。 ホバリング時に追加のメニューも追加しました。これにより、異なるメニュー間のナビゲーションが簡単になり、クリック数とページの読み込みも削減されます。
新しいナビゲーションをまだ使用していない場合は、右上隅のプロフィールアイコンをクリックし、[新しいナビゲーションを有効にする]を選択します。
ナビゲーションの更新作業はまだ完了していません。GitLab10.0の新しいナビゲーションに最終的に切り替える前に、多くの改善を行う必要があります。 ご意見をお聞かせください。これは、すべての人に適したナビゲーションモデルの作成に役立ちます。
ドキュメントのナビゲーションの更新に関する詳細
プロジェクトテンプレート(CE、EES、EEP)
GitLabをゼロから始めるのは簡単ではありません。 その可能性をすべて研究するには、さらに力が必要です。 これに関連して、プロジェクトテンプレートを追加します。このテンプレートを使用すると、既にコード例が含まれており、CIが既に構成されている新しいプロジェクトをすばやく作成できます。
GitLab 9.5では、Ruby on Rails、Node Express、Java Springなどの最も一般的な開発環境をサポートしています。
プロジェクトテンプレートの詳細については、ドキュメントをご覧ください。
自動失敗CI失敗ジョブ(CE、EES、EEP)
パイプラインの実行が失敗する理由は、ある作業がコードに関係しない一時的な問題に遭遇したことが原因である場合があります。 そのような場合、原則として、パイプラインを正常に完了するには、この作業を数回再起動するだけで十分です。
GitLab 9.5でこのプロセスを自動化するには、 .gitlab-ci.yml
でretry
キーワードを宣言でき.gitlab-ci.yml
。 この場合、 GitLab CI / CDは、失敗したとマークする前に、この作業を適切な回数再起動します。
失敗したジョブの自動再試行の詳細については、ドキュメントをご覧ください。
自動展開によるアプリケーションの自動監視(CE、EES、EEP)
GitLab 9.4では、 Webベースのアプリケーション監視を導入しました -この機能により、ユーザーは、帯域幅、エラー率、遅延など、GitLabでアプリケーションの主要なメトリックを追跡できます。
GitLab 9.5では、アプリケーションを自動展開するためにこれらのメトリックの追跡をさらに簡単にします。 GitLab-Omnibus Helm Chartを使用してGitLabをデプロイした場合、追加の構成はまったく必要ありません! 残りのインストール方法については、 PrometheusがNGINX Ingressを監視していることを確認してください 。
ドキュメントの自動展開アプリケーションの監視に関する詳細
GitLab 9.5のその他の改善点
Auto Postgres HAフェイルオーバー(ベータ)(EEP)
多数の開発者がいる組織、およびGitLabが開発プロセスの不可欠な部分である組織にとって、GitLabサービスのスケーラビリティ、パフォーマンス、および信頼性は非常に重要です。
GitLab 9.4では、 手動フェールオーバーを備えたPostgres High Availabilityのベータ版をリリースしました。これにより、データベースのクラッシュによる被害が軽減され、復旧時間が短縮されました。 GitLab 9.5では、この方向で開発を続けました。データベースノードの障害に対する自動回避策がありました。 これにより、GitLabはデータベースサーバーがクラッシュした後、外部の介入なしに、会社のワークフローに影響を与えることなく、開発者を無駄にすることなく回復できます。 今後のリリースでは、GitLab High Availabilityの改善に引き続き取り組みます。
Postgres HAの詳細については、ドキュメントをご覧ください。
アーティファクトインターフェイスのCI_JOB_TOKEN変数(EEP)
GitLab 9.3では、 クロスプロジェクトパイプラインを使用して複数のプロジェクト間の通信を確立できる機能を追加しました。 これらの依存関係の導入により、関連プロジェクトによって作成されたアーティファクトに簡単にアクセスする必要性が示されました。
GitLab 9.5では、 .gitlab-ci.yml
で次の構文を使用して、 $CI_JOB_TOKEN
変数を使用できます。これは、すべてのジョブで自動的に使用可能.gitlab-ci.yml
。
curl --header "JOB-TOKEN: $CI_JOB_TOKEN" "https://gitlab.example.com/api/v4/projects/1/jobs/artifacts/master/download?job=test"
CI_JOB_TOKENを使用して成果物を取得する方法の詳細については、ドキュメントを参照してください。
グループレベルの秘密変数インターフェイス(CE、EES、EEP)
GitLab 9.4では、同じグループの複数のプロジェクトの変数を定義できるグループレベルのシークレット変数を導入しました。 GitLab 9.5は、API呼び出しを使用してこれらの変数の管理を追加します。これにより、外部ツールおよびスクリプトとの簡単なアクセスおよび統合の機会が開かれます。RESTインターフェイスを使用してグループレベル変数を作成、更新、表示、削除できるようになりました。
ドキュメント内のグループレベルの秘密変数のインターフェイスに関する詳細情報
セキュアブランチ(CE、EES、EEP)のコンベヤーのセキュリティチェックの改善
適切な権限を持つユーザーのみがアクセスできる製品を変更するためのアクセスを提供するために、保護されたブランチ上のパイプラインとのすべての対話(パイプラインの手動開始、既存の作業の再実行、手動アクションなど)は、許可されたユーザーのみが利用できるようになりましたこれらのブランチを変更します。
GitLab CI / CDセキュリティモデルの詳細については、ドキュメントをご覧ください。
マージリクエストウィジェットがリポジトリ(CE、EES、EEP)を参照するようになりました
以前、ウィジェットの元のマージ要求ブランチは、コミットページへのリンクを提供していました。 これで、このブランチのファイルリポジトリページに移動します。 この小さな変更には多くの利点があります。ブランチ内のすべての変更を即座に表示し、ファイルシステムインターフェイスから直接さらにコミットを実行できます。 ソースブランチからのコミットは、マージリクエストの[コミット]タブから簡単にアクセスできます。
マージリクエストの詳細については、ドキュメントをご覧ください。
グループマイルストーンインターフェイス(CE、EES、EEP)
このリリースでは、グループマイルストーンインターフェイスも追加しました。 これを使用して、マイルストーンを作成および編集したり、すべてのタスクをアップロードしたり、特定のマイルストーンに関連付けられたリクエストをマージしたりできます。 この機能は、既存のプロジェクトマイルストーンインターフェイスに似ています 。
ドキュメントのグループマイルストーンインターフェイスの詳細
JIRAとの統合の簡素化(CE、EES、EEP)
以前は、JIRAとの統合を設定するには、JIRAプロジェクトキーを入力する必要がありました。 これは、GitLabプロジェクトごとに1つのJIRAプロジェクトがあることを意味するため、混乱を招きました。 代わりに、GitLabプロジェクトごとに1つのJIRAインスタンスが存在することが常に判明しました(したがって、このインスタンスに含まれるすべてのJIRAプロジェクト)。 この統合を簡素化するために、設定ページからJIRAプロジェクトキーを削除しました。
詳細については、 JIRA統合ドキュメントをご覧ください。
SSHを介したリポジトリプールのミラー化(EES、EEP)
リポジトリのミラーリングは 、元のリポジトリからすべてのコード、ブランチ、タグ、およびコミットを更新するための優れた方法です。
GitLab 9.5では、SSHを介してリポジトリに変更をプルすることができ、リポジトリをミラーリングするときにデプロイメントキーを使用できます。
このミラーリングアドオンは、リポジトリのより安全な接続のために作成されており、パスワードが変更されても問題が発生しないため、自動化に最適です。
リポジトリをミラーリングするためのSSH認証の詳細については、ドキュメントをご覧ください。
API URI(CE、EES、EEP)
GitLab 9.5では、V4 APIのナビゲーションを改善するための一歩を踏み出しました。
ここで、要求されたリソースのデータに加えて、リソースに関連するURIを返します。 これは、クライアント側でリソース用のURIを自分で構築するように求める代わりに、APIのリクエストでこれらのURIを直接提供することを意味します。
現時点では、 プロジェクトとタスクで機能しますが、コミット、イベントなどに関するこの情報の提供を楽しみにしています。 将来のリリースで。
GitLab Runner 9.5(CE、EES、EEP)
また、このリリースでは、GitLab Runner 9.5をリリースしています。
最も興味深い変更:
- 資格情報ストレージのサポートが追加されました( マージ要求 )
- DockerエグゼキューターのDocker sysctlオプションのサポートが追加されました( マージ要求 )
- デバッグシンボル( マージリクエスト )を削除して、バイナリファイルのサイズを縮小しました
- アーティファクトの読み込み中のエラー動作を修正( マージリクエスト )
変更の完全なリストについては、 CHANGELOG GitLab Runnerを参照してください。
技術記事(CE、EES、EEP)
GitLabの実装、使用、および調査を容易にするために、ドキュメントの品質を常に向上させ、チュートリアル、ガイド、テクニカルレビューを含む新しい技術記事を公開しています。
今月は、2つのすばらしい新しいチュートリアルをご紹介します。
- GitLab CI / CDを使用してArtifactoryにMavenプロジェクトをデプロイする方法は、著者はシニア製品マネージャーのFabio Busattoです。
- コミュニティライターのCrt Moriによって作成されたGitの無数の取り消し機能 。
参加したいですか? 私たちは幸せです! コミュニティライタープログラムをチェックして、つながりましょう! :)
要求差分ファイルナビゲーションのマージ(CE、EES、EEP)
差分コードの異なるセクション間のナビゲーションを簡素化し、高速化しました。 GitLab 9.5では、さまざまなマージリクエストファイルにすばやくジャンプするために使用できる補助的なドロップダウンヒントを追加しました。 これは、多数のファイルと多くの変更があるマージ要求に特に役立ちます。
CI_JOB_TOKEN(EEP)で始まるパイプラインの変数サポート
GitLab 9.3で導入されたプロジェクト間のパイプラインは、 $CI_JOB_TOKEN
変数を使用して関連プロジェクトでパイプラインを実行しますが、通常のトリガーのように変数をこれらのトリガーに渡すことはできませんでした。 GitLab 9.5はこのギャップを埋め、パイプライン変数トリガーが$CI_JOB_TOKEN
を使用して呼び出される場合でもサポートを追加しました。
変数をパイプライントリガーに渡す方法の詳細については、ドキュメントを参照してください。
タスクセキュリティスイッチ(CE、EES、EEP)
タスクの秘密マークの有効化または無効化は、サイドメニューで行われるようになりました。 次のリリースでは、このメニューにタスク移動機能も追加する予定です。 これらの変更により、タスクページのメインスペースが解放され、名前と説明の編集に集中できます。
グループタスクページで検索(CE、EES、EEP)
プロジェクトタスクとマージリクエストのフィルターを備えた検索メニューの新しいデザインを採用し、グループタスクページに適用しました。 同じ強力なインターフェースを使用して、グループ内の異なるプロジェクトのタスクを検索および管理できるようになりました。
詳細については、 GitLab検索ドキュメントを参照してください。
グループマイルストーン(CE、EES、EEP)を使用したクイックアクション
GitLab 9.4では、 グループマイルストーンをリリースし、マイルストーンの複数のタスクを一度に管理する便利な方法を提供しました。これは、1つのグループのすべてのプロジェクトに拡張されます。 バージョン9.5には、 クイックアクションでグループマイルストーンを割り当てる機能と、グループマイルストーンが割り当てられたときまたは削除されたときにストリームに送信されるシステムノートが含まれています。 この動作は、プロジェクトのマイルストーンの動作に関連しています。
詳細については、クイックアクションドキュメントをご覧ください。
以前に選択したプロジェクト(CE、EES、EEP)に基づく新しいタスク
以前は、グループタスクページから新しいタスクを作成できました。 しかし、このプロセスの一部では、プロジェクトを選択する必要がありました。 これで、GitLabは以前に選択されたプロジェクトを記憶するため、この手順をスキップできます。 この機能により、GitLabは引き続きグループ中心のチームツールになります。 タスクがどこから来たのか考えないこともあります。 グループにアタッチしたタスクを作成したいだけです。 これで、グループタスクページから直接これをすばやく行うことができます。 また、気が変わった場合は、作成後にいつでもタスクを別のプロジェクトに移動できます。
「ソースブランチの削除」はデフォルトで無効になっています(CE、EES、EEP)
多くのユーザーはGitワークフローに固執しているため、マージリクエスト後に元のブランチを削除します。 このプロセスを自動化する便利な機能、つまりマージリクエストウィジェットの簡単なチェックボックスを追加しました。 この設定は削除アクションであるため、デフォルトで無効にする必要があるというレビューを数え切れないほど受けています。 このリリースでは、マージ要求を作成するとき、この設定はオフになっています。 本当に有効にする場合は、マージする前にチェックボックスをオンにします。
GitLab Mattermost 4.1(CE、EES、EEP)
GatterLab 9.5には、 Mattermost 4.1が含まれています。これは、Slackの代替となるオープンソースです。 新しいMattermostリリースでは、パーソナルアクセストークンなどとの統合が簡単になりました。
このバージョンにはセキュリティアップデートが含まれています 。 更新することをお勧めします。
詳細については、 GitLab Mattermostのドキュメントを参照してください。
GitLab Geoの機能強化(EEP)
重要な変更:
- GitLab Geoは、 選択的コピーの 最初の反復をサポートするようになりました。これにより、管理者はセカンダリノードにクローンするリポジトリを選択できます。
- プロジェクトの削除は、ジオログカーソルを介してサポートされるようになりました。
- 追跡とデバッグに役立つ構造化されたJSONデバッグログを追加しました。
- バージョン10.0では、システムフックは正式に無効になります 。 データベースを介したSSHキーの検索に切り替えてください。
詳細については、GitLab Geoのドキュメントを参照してください。
オムニバス拡張(CE、EES、EEP)
- Omnibus GitLabパッケージには、GPG署名が付いています ! 署名されたパッケージと署名の検証に関する情報は、関連するドキュメントに記載されています。
- Gitはバージョン2.13.5に更新されました 。
- OpenSSLが1.0.2lに更新されました 。
- UDPログはCEの一部になりました 。
詳細なリリースノートと更新/インストール手順は、 元の英語の投稿に記載されています。