GitLabサイレントモード(無料体験)

GitLab 15.11で導入されました。この機能は実験です。

サイレントモードは、GitLabからのメールなどの送信通信を抑制することができます。サイレントモードは使用中の環境での使用を意図したものではありません。二つの使用例があります:

  • Geoサイトの昇格させる検証。ディザスタリカバリソリューションの一部として、セカンダリ Geo サイトがあります。ディザスタリカバリ プランが実際に機能することを確認するためのベストプラクティスとして、プライマリ Geo サイトに昇格させるテストを定期的に行いたいと考えています。しかし、プライマリ サイトはユーザーに最も低遅延を提供する地域にあるため、フェイルオーバー全体を実際に実行したくありません。また、定期テストのたびにダウンタイムを取りたくありません。そこで、プライマリサイトを稼働させたまま、セカンダリサイトを昇格させます。昇格させたサイトのスモークテストを開始します。しかし、昇格したサイトはユーザーにメールを送ったり、プッシュ・ミラーが外部の Git リポジトリに変更をプッシュしたりするようになります。そこでサイレント・モードの出番です。サイト昇格の一環として有効にすることで、このイシューを回避することができます。
  • GitLab バックアップの検証。バックアップが正常にリストアされることをテストするためにテストインスタンスをセットアップします。リストアの一環として、例えばユーザーへの無効なメールの送信を避けるためにサイレントモードを有効にします。

サイレントモードの有効化

前提条件:

  • 管理者権限が必要です。

サイレントモードを有効にするには、2つの方法があります:

  • API:

     curl --request PUT --header "PRIVATE-TOKEN:$ADMIN_TOKEN" "<gitlab-url>/api/v4/application/settings?silent_mode_enabled=true"
    
  • Rails コンソール:

     ::Gitlab::CurrentSettings.update!(silent_mode_enabled: true)
    

反映されるまで最大1分かかることがあります。イシュー 405433ではこの遅延の削除を提案しています。

サイレントモードの無効化

前提条件:

  • 管理者権限が必要です。

サイレントモードを無効にするには、2つの方法があります:

  • API:

     curl --request PUT --header "PRIVATE-TOKEN:$ADMIN_TOKEN" "<gitlab-url>/api/v4/application/settings?silent_mode_enabled=false"
    
  • Rails コンソール:

     ::Gitlab::CurrentSettings.update!(silent_mode_enabled: false)
    

反映されるまで最大1分かかることがあります。イシュー 405433ではこの遅延の削除を提案しています。

サイレントモードでの GitLab 機能の動作

このセクションでは、サイレントモードが有効な場合のGitLabの現在の動作について説明します。サイレントモードは実験であり、動作は予告なく変更される可能性があります。サイレントモードの最初のイテレーションの作業は、エピック9826によって追跡されています。

サービスデスク

受信メールは依然としてイシューを提起しますが、サービスデスクにメールを送信したユーザーには、イシューの作成やイシューに対するコメントが通知されません。

Webhook

GitLab 16.3 で導入されました

プロジェクトとグループの Webhookシステムフックが抑制されました。

GitLab 16.2以前では、サイレントモードが有効な場合にWebhookがトリガーされましたが、Webhook HTTPリクエストはブロックされました。

UI経由でWebhookテストをトリガーすると、HTTPステータス500のレスポンスが返されます。

リモートミラー

リモートミラーの更新 (リモートミラーへのプッシュとリモートミラーからのプル) は抑制されます。

インテグレーション

実行可能なインテグレーションは抑制されます。

送信メール

送信メールは抑制されます。

送信HTTPリクエスト

多くのアウトバウンドHTTPリクエストは抑制されています。より多くの抑制が計画されているため、現時点では抑制されていないリクエストのリストはありません。