Helix Swarm管理者ガイド (2020.1)

Swarmの構成

これまでの操作で、Swarmを使用するための準備が整いました。次に、現在の環境に合わせてSwarmを構成する必要があります。

重要

Swarmでは、P4AUTHを使用するように設定されているHelixサーバはサポートされていません。詳しくは、『Helix Coreサーバ管理者ガイド』の「集中認証サーバ(P4AUTH)」を参照してください。

注意
  • Helix Coreサーバ」という用語は、Helixサーバマシン(P4D)、プロキシ、ブローカ、レプリカ、エッジサーバ、コミットサーバを指す場合があります。 説明を簡単にするため、「Helixサーバ」という用語は、Helix Coreサーバマシンのすべての構成を表す目的で使用するものとします。
  • Swarmは、Helixサーバ(P4D)とコミットサーバに接続することができます。
  • 複数のHelixサーバ (P4D)に接続できるようにSwarmを設定する方法については、複数のHelixサーバインスタンスを参照してください。

    コミットエッジアーキテクチャ用に設定されているHelixサーバに接続するようにSwarmを設定する方法については、コミットエッジの展開を参照してください。

  • Swarmを、Helixブローカ、Helixプロキシ、Helixエッジサーバ、転送レプリカ、読み取り専用レプリカサーバに接続しないでください。

Swarm構成ファイル

重要
  • HelixサーバHelix認証サービスまたはHelix SAML用に設定されている場合は、Helixサーバへの接続時にパスワードのフォールバック機能を許可するようにHelixサーバを一時的に設定する必要があります。 Helixサーバで以下のコマンドを実行して、パスワードへのフォールバックを有効にします。

    p4 configure set auth.sso.allow.passwd=1

SWARM_ROOT/data/config.phpファイルを開き、以下の構成ブロックを追加します。

<?php
    return array(
        'p4' => array(
            'port'      => 'my-helix-core-server:1666',
            'user'      => 'admin_userid',
            'password'  => 'admin user ticket or password',
            'sso_enabled' => false, // defaults to false
         ),
         'log' => array(
             'priority'  => 3, // 7 for max, defaults to 3
         ),
         'mail' => array(
             'transport' => array(
                 'host' => 'my.mx.host',
             ),
         ),
    );
  • my-helix-core-server:1666」の部分を、Helixサーバに接続するためのP4PORTの値に置き換えてください。

    重要

    コミットエッジアーキテクチャを使用してHelixサーバを展開した場合は、Swarmのポート値がコミットサーバを指していることを確認してください。

    詳細については、『Helix Coreサーバ管理者ガイド』の「コミットエッジ」を参照してください。

    警告

    ポートがHelixブローカを指している場合は、ブローカによるコマンドの実行を、別のレプリカ、エッジサーバ、プロキシに委譲しないようにする必要があります。 このような委譲が行われると、Swarmで不明な問題が発生したり、Swarmが完全に機能しなくなったりすることがあります。

    Swarmを使用するには、Helixサーバの状態を示す整合性のある最新のビューが必要になります。Swarmを中央サーバやコミットサーバに接続すると、Swarmが最適な状態で機能します。

  • userの値として指定されているadmin_userid を、Helixサーバに対するadminレベルのアクセス権限を持つ通常のHelixサーバユーザIDに置き換えてください。
  • 注意
    • SwarmはこのユーザIDを使用して、Helixサーバとの通信を行います。 Swarmの通常のレビュータスクでこのユーザIDを使用しないでください。
    • バージョン2020.1以降のHelixサーバでは、Swarmストリーム仕様ファイルの編集と表示を行うための権限が変更されました。 SwarmユーザがSwarmでストリーム仕様ファイルの表示や編集を行うには、ディポ全体(//...)に対するadmin 権限が必要です。

  • passwordの値としてプレーンテキストを指定してもかまいませんが、チケットの値を指定することをお勧めします。 admin_userid のチケット値を取得するには、システムにログインして以下のコマンドを実行します。

    $ p4 -p my-helix-core-server:1666 -u admin_userid login -p
    重要

    Helixサーバの認証が以下のいずれかの方法で設定されている場合、チケットベースの認証が必要です。

    • セキュリティレベル3で設定された認証。
    • LDAP用に設定された認証。
    • Helix認証サービス用に設定された認証。
    • Helix SAML用に設定された認証。

    adminユーザIDのチケットの有効期限を確認するには、以下のコマンドを実行します。

    $ p4 -p my-helix-core-server:1666 -u admin_userid -P ticket_value login -s

    チケットの詳細については、Helix Coreサーバ管理者ガイドの「チケットベース認証」セクションを参照してください。

  • HelixサーバHelix認証サービスまたはHelix SAML用に構成されている場合、Swarmについても、Helix認証サービスまたはHelix SAML用に構成することができます。
  • Helix認証サービスまたはHelix SAMLSwarmで有効にするには、sso_enabledtrueに設定します。

    重要
    • Helix認証サービスは、Perforceの優先SSOソリューションです(Helix認証サービスを参照)。
    • SwarmHelix SAMLを使用する場合:
      • Helixサーババージョン2018.2以降が必要です。
      • Helix SAML用のHelixサーバトリガを作成します。 Helix SAML用のHelixサーバトリガの開発手順については、『Helix Coreサーバ管理者ガイド』の「トリガを起動して外部認証を使用する」を参照してください。
      • このページに記載されているように、sso_enabled構成可能変数を使用して、SwarmHelix SAMLを有効にします。
      • このページに記載されているように、Swarm管理者ユーザがチケットベースの認証を使用するように設定します。
      • Helix SAML用にSwarmを設定します。 Helix SAML用のSwarmの設定手順については、「Helix SAML」を参照してください。
  • hostの値として指定されているmy.mx.host を、Swarmで電子メール通知を送信するための電子メール交換サービスのホスト名に置き換えてください。
  • 注意

    この構成ファイルには、Helixサーバadmin レベルのユーザの資格情報が含まれているため、このファイルの所有権とアクセス権限を編集して、Webサーバユーザ以外はこのファイルを表示できないようにし、どのユーザもこのファイルを変更できないようにすることをお勧めします。

  • 必要に応じて、Swarmに対して追加の機能を構成します。
    • 任意: JIRAの反映機能(JIRAを参照)
    • 任意: LibreOfficeの反映機能(LibreOfficeを参照)
    • 任意: Swarmのホスト名を手動で指定する機能(Swarmのホスト名を参照)
  • トリガトークンを確立します。詳しくは、トリガトークンを確立するを参照してください。

Swarmの任意指定の追加設定

Swarmには、この時点で有効化できるオプションの機能があります。

Swarmのホスト名

Swarmは通常、それ自体が稼働するホストの名前を自動検出します。 1つのSwarmインスタンスに複数の仮想ホストが設定されている場合など、一部のシステム構成では、自動検出ロジックで正しいホスト名が選択されないことがあります。 自動検出で正しいホスト名が選択されない場合は、電子メール通知やワーカーの起動などに影響する可能性があります。

Swarmホスト名を指定する必要がある場合は、詳細について、「hostname」を参照してください。