Swarmの構成
これまでの操作で、Swarmを使用するための準備が整いました。次に、現在の環境に合わせてSwarmを構成する必要があります。
Swarmでは、P4AUTHを使用するように設定されているHelixサーバはサポートされていません。詳しくは、『Helix Coreサーバ管理者ガイド』の「集中認証サーバ(P4AUTH)」を参照してください。
- 「Helix Coreサーバ」という擁護は、Helixサーバ マシン(P4D)、プロキシ、ブローカ、レプリカ、エッジサーバ、コミットサーバを指す場合があります。 説明を簡単にするため、「Helixサーバ 」という用語は、Helix Coreサーバマシンのすべての構成を表す目的で使用するものとします。
- Swarmは、Helixサーバ(P4D)とコミットサーバに接続することができます。
- Swarmを、Helixブローカ、Helixプロキシ、Helixエッジサーバ、転送レプリカ、読み取り専用レプリカサーバに接続しないでください。
複数のHelixサーバ (P4D)に接続できるようにSwarmを設定する方法については、「複数のHelixサーバインスタンス」を参照してください。
コミットエッジアーキテクチャ用に設定されているHelixサーバに接続するようにSwarmを設定する方法については、「コミットエッジの展開」を参照してください。
Swarm構成ファイル
-
HelixサーバがHelix認証サービス用に設定されている場合は、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' => 'disabled', // ['disabled'|'optional'|'enabled'] default value is 'disabled'
),
'log' => array(
'priority' => 3, // 7 for max, defaults to 3
),
'mail' => array(
'transport' => array(
'host' => 'my.mx.host',
),
),
);
port
「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
passwordの値としてプレーンテキストを指定してもかまいませんが、チケットの値を指定することをお勧めします。admin_useridのチケット値を取得するには、システムにログインして以下のコマンドを実行します。
p4 -p my-helix-core-server:1666 -u admin_userid login -p
Helixサーバの認証が以下のいずれかの方法で設定されている場合、チケットベースの認証が必要です。
- セキュリティレベル3で設定された認証。
- LDAP用に設定された認証。
- Helix認証サービス用に設定された認証。
admin useridのチケットの有効期限を確認するには、以下のコマンドを実行します。
p4 -p my-helix-core-server:1666 -u admin_userid -P ticket_value login -s
チケットの詳細については、『Helix Coreサーバ管理者ガイド』の「チケットベース認証」セクションを参照してください。
sso
SwarmがHelix認証サービス用に構成されている場合、Helixサーバについても、Helix認証サービス用に構成することができます。
以下のいずれかに対して「sso」を設定します。
-
enabled: すべてのユーザがHelix認証サービスを使用してSwarmにログインする必要があります。
-
optional: Helix認証サービスを使用してSwarmにログインできますが、必ず使用しなければならないわけではありません。
-
disabled: Helix認証サービスを使用してSwarmにログインすることはできません。これがデフォルト値です。
Swarm 2021.1以降、sso_enabled構成可能変数は非推奨になりました(ただし、引き続き使用できます)。代わりに、より柔軟性の高いsso構成可能変数が導入されました。sso_enabled構成可能変数とsso構成可能変数の両方をp4構成ブロック内に指定した場合、Swarmではsso構成可能変数が使用されます。
host
hostの値として指定されているmy.mx.hostを、Swarmで電子メール通知を送信するための電子メール交換サービスのホスト名に置き換えてください。
この構成ファイルには、Helixサーバのadmin レベルのユーザの資格情報が含まれているため、このファイルの所有権とアクセス権限を編集して、Webサーバユーザ以外はこのファイルを表示できないようにし、どのユーザもこのファイルを変更できないようにすることをお勧めします。
次の手順
必要に応じて、Swarmに対して追加の機能を構成します。
- 任意指定: JIRAの反映機能(「JIRA」を参照)
- 任意指定: LibreOfficeの反映機能(「LibreOffice」を参照)
- 任意指定: Swarmのホスト名を手動で指定する機能(「Swarmのホスト名」を参照)
トリガトークンを確立します。詳しくは、「トリガトークンを確立する」を参照してください。
Swarmの任意指定の追加設定
Swarmには、この時点で有効化できるオプションの機能があります。
Swarmのホスト名
Swarmは通常、それ自体が稼働するホストの名前を自動検出します。1つのSwarmインスタンスに複数の仮想ホストが設定されている場合など、一部のシステム構成では、自動検出ロジックで正しいホスト名が選択されないことがあります。自動検出で正しいホスト名が選択されない場合は、電子メール通知やワーカーの起動などに影響する可能性があります。
Swarmのホスト名を指定する方法については、「hostname」を参照してください。