プロジェクト

このセクションでは、プロジェクトに対して設定する構成可能変数について説明します。

ヒント

構成情報を変更しても、構成キャッシュを再ロードしない限り、その構成情報がSwarmで使用されることはありません。構成キャッシュを再ロードすると、変更した構成情報がSwarmで強制的に使用されます。Swarm構成キャッシュを再ロードするには、admin ユーザまたはsuper ユーザでなくてはなりません。[ユーザID]ドロップダウンメニューに移動して[システム情報]を選択し、[キャッシュ情報]タブをクリックしてから[構成の再ロード]ボタンボタンをクリックします。

プロジェクト名とブランチ定義の編集を管理者だけに制限する

プロジェクトを作成すると、そのプロジェクトのすべてのメンバーが、プロジェクト設定の編集や削除をデフォルトで実行できるようになります。プロジェクトに対する編集権限を[所有者と管理者のみプロジェクトの編集を許可]に設定すると、所有者と管理者以外はそのプロジェクトを変更できなくなります。

すべての変更を許可したり、すべての変更を禁止したりするのではなく、プロジェクト名と関連IDの変更やブランチ定義の変更など、特定の変更についてのみ、プロジェクトメンバーによる変更を禁止することができます。この方法は、ビルドインフラストラクチャなどのツールでプロジェクトの詳細情報を運用上の構成として処理する場合に便利ですが、この方法を使用する場合でも、プロジェクト構成の他の要素をプロジェクトメンバーが変更できるようにしておく必要があります。

そのためには、SWARM_ROOT/data/config.phpファイルを編集用に開き、以下に示す2つの項目を設定します。

    'projects' => array(
'edit_name_admin_only' => true,
'edit_branches_admin_only' => true,
),
  • edit_name_admin_only: これをtrueに設定すると、Helixサーバadmin 権限を持つユーザだけが、プロジェクト名を変更できるようになります。
  • edit_branches_admin_only: これをtrueに設定すると、Helixサーバadmin 権限を持つユーザだけが、プロジェクトのブランチ定義を変更できるようになります。

どちらの項目も、デフォルト値はfalseです。

プロジェクトの追加を管理者だけに制限する

デフォルト設定の場合、すべての認証済みユーザが新しいプロジェクトを追加することができます。Swarmでは、プロジェクトを追加できるユーザを、admin レベル以上の権限を持つユーザだけに制限することができます。Swarmでは、制限を設定すると、管理者以外のユーザにはプロジェクトを追加するための[+]アイコンが表示されなくなるため、プロジェクトを追加できなくなります。

p4エントリと同じレベルで、以下の構成ブロックをSWARM_ROOT/data/config.phpファイルに追加します(すでに追加されている場合は、以下のように変更します)。

<?php
// this block should be a peer of 'p4'
'projects' => array(
'add_admin_only' => true,
),
重要

add_admin_onlyを有効にして、1つ以上のグループをadd_groups_onlyに指定すると、プロジェクトを作成できるのは、そのグループにメンバーとして属している管理者権限を持つユーザだけになります。

プロジェクトの追加を特定のグループメンバーだけに制限する

Swarmでは、プロジェクトを作成できるユーザを、特定のグループに属するメンバーだけに制限することができます。Helixサーバで、グループとメンバーシップを定義しておく必要があります。

p4エントリと同じレベルで、以下の構成ブロックをSWARM_ROOT/data/config.phpファイルに追加します(すでに追加されている場合は、以下のように変更します)。

<?php
// this block should be a peer of 'p4'
'projects' => array(
'add_groups_only' => array('wizards', 'slayers', 'phbs'),
),
重要

add_admin_onlyも有効にすると、プロジェクトを作成できるのは、指定されたグループにメンバーとして属している管理者権限を持つユーザだけになります。

プロジェクトのReadmeファイル

デフォルトでは、プロジェクトの概要ページに自動的に表示されるREADMEのMarkdownファイルをプロジェクトに関連付けることができます。このファイルが使用可能な状態になっている場合、プロジェクトのメインラインのルートからこのファイルが読み込まれ、プロジェクトページ上部に表示されます。プロジェクトメインラインの設定方法については、「メインラインブランチの特定」を参照してください。

ヒント
  • Markdownの有効なファイル拡張子は以下のとおりです。mdmarkdownmdownmkdnmkdmdwnmdtxtmdtext

  • 複数のREADMEファイルが見つかった場合、Swarmは上記の順番に従って、最初に見つかったファイルを表示します。

  • デフォルトでは、未加工のHTMLとJavaScriptのコンテンツが実行されることを防ぐため、Markdownのサポートが制限されます。Swarm管理者は、Markdownのサポートレベルをdisabledsafeunsafeのいずれかに設定することができます。詳細については、「Markdown」を参照してください。

p4エントリと同じレベルで、以下の構成ブロックをSWARM_ROOT/data/config.phpファイルに追加します(すでに追加されている場合は、以下のように変更します)。

<?php
// this block should be a peer of 'p4'
'projects' => array(
'readme_mode' => 'enabled',
),
  • enabled: プロジェクト概要ページでREADME Markdownファイルの使用が有効になります。プロジェクト概要ページには、README Markdownファイルのテキストコンテンツが表示されます。これがデフォルトの設定です。
  • disabled: プロジェクト概要ページで、README Markdownファイルが使用できなくなります。また、プロジェクト概要ページが非表示になります。
注意

Swarm 2018.3以前には、readme_modedisabledrestrictedunrestrictedのいずれかに設定することができました。readme_moderestrictedまたはunrestrictedに設定された状態でSwarm 2019.1以降にアップグレードすると、Swarmは、readme_modeenabledに設定されている場合と同じ動作を実行します。Swarmmarkdown構成可能変数を使用して、Markdownのサポートレベルを判断します(デフォルト値はsafe)。詳しくは、「Markdown」を参照してください。

[プロジェクト]タブの初期フェッチ

デフォルトでは、1回の呼び出しですべてのプロジェクトが[プロジェクト]タブにフェッチされます。そのため、Swarmシステムに多数のプロジェクトが存在する場合は、[プロジェクト]タブにプロジェクトがフェッチされるまで時間がかかることがあります。最初にx件だけのプロジェクトをフェッチして画面に表示し、残りのプロジェクトについてはバックグラウンドでキャッシュからロードするようにSwarmに対して指示するには、fetch構成可能変数を使用します。この方法により、[プロジェクト]タブに最初のプロジェクトを表示するまでの時間を短縮することができます。

p4エントリと同じレベルで、以下の構成ブロックをSWARM_ROOT/data/config.phpファイルに追加します(すでに追加されている場合は、以下のように変更します)。

<?php
// this block should be a peer of 'p4'
'projects' => array(
'fetch' => array('maximum' => 50), // defaults to 0 (disabled)
),

デフォルト値は0です。この場合、1回の呼び出しですべてのプロジェクトがフェッチされます。

プロジェクトメンバーに対してプロジェクト設定の表示を許可する

デフォルト設定の場合、特定のプロジェクトで[所有者と管理者のみプロジェクトの編集を許可]チェックボックスを選択すると、そのプロジェクトの所有者と管理者のみが、プロジェクトの[設定]タブを表示することができます。

allow_view_settingsの値をtrueに設定し、特定のプロジェクトで[所有者と管理者のみプロジェクトの編集を許可]チェックボックスを選択すると、そのプロジェクトの所有者や管理者ではないプロジェクトメンバーが、そのプロジェクトの[設定]タブを読み取り専用として表示できるようになります。プロジェクトの[自動テスト]オプションと[自動展開]オプションの詳細情報は、プロジェクトの所有者と管理者を除き、プロジェクトメンバーには表示されません。そのため、プロジェクトメンバーは、プロジェクトの設定を確認することはできますが、変更することはできません。

p4エントリと同じレベルで、以下の構成ブロックをSWARM_ROOT/data/config.phpファイルに追加します(すでに追加されている場合は、以下のように変更します)。

<?php
// this block should be a peer of 'p4'
'projects' => array(
'allow_view_settings' => true, // defaults to false
),

デフォルト値はfalseです。この場合、特定のプロジェクトで[所有者と管理者のみプロジェクトの編集を許可]を選択すると、プロジェクトメンバーはそのプロジェクトの設定を表示できなくなります。