最新情報

このセクションでは、リリース2021.2Swarmで導入された主な変更点の概要について説明します。詳細については、ディストリビューションのRELNOTES.txtファイルを参照してください。

主要な新機能

自動テスト機能の改善

  • 影響を受けるプロジェクトとブランチの反復テスト

  • Swarmで、レビューが複数のプロジェクトとブランチにまたがる場合に、それぞれのプロジェクトとブランチで個別にテストを実行できるようになりました。この機能は、テストごとに選択されます。詳しくは、「影響を受けるプロジェクトとブランチの反復テストHelix Swarmガイド」を参照してください。

  • オンデマンドテストをワークフローに追加する

  • ワークフローにテストを追加し、そのワークフローを使用するレビューから手動でテストを実行できるようになりました。

    • オンデマンドテストをワークフローに追加する方法については、「ワークフローの追加」を参照してください。

    • 手動でテストを実行する方法については、「テストステータス」を参照してください。

  • レビューからテストを再実行する

  • レビューの[テストステータス]ドロップダウンでテストを再実行できるようになりました。詳しくは、「テストステータス」を参照してください。

  • テストが失敗した場合に承認をブロックする

  • テストが失敗した場合にレビューの承認をブロックできるようになりました。詳しくは、「ワークフローの追加」を参照してください。

保留中チェンジリストの処理中タグ

処理中タグ(デフォルトの処理中タグは#wip)を、作業中チェンジリストの説明に追加できるようになりました。これにより、関連するレビューを更新したり新しいレビューを作成したりすることなく、保留状態のファイルを更新することができます。レビューに対して多数の変更が必要な場合や、段階的に変更を行い、すべての変更を最後にまとめてレビューする場合などに、処理中タグを使用すると便利です。変更内容をレビューする準備ができたら、チェンジリストの説明から#wipを削除し、シェルフを更新してレビューを行います。

  • 処理中タグの使用方法については、「処理中タグ」を参照してください。

  • 処理中タグの変更方法については、「タグプロセッサ」を参照してください。

Swarm OVAでUbuntu 20.04 LTSが使用されるようになりました

Swarmバージョン2021.1以降、Swarm OVAオペレーティングシステムがUbuntu 20.04 LTS (旧称: Ubuntu 16.04 LTS)になりました。16.04 LTS OVAを使用している場合は、20.04 LTS OVAを導入し、Swarmのインストール環境を新しいOVAに移動することをお勧めします。Ubuntu 20.04 LTS OVAの導入方法とSwarmインスタンスの移動方法については、「OVAからSwarm VMの展開と構成を行う」と「Swarmインスタンスの移動」を参照してください。

次のリリースのSwarmで変更されるPHPのサポート

次のリリースのSwarmでは、PHP 7.0と7.1がサポートされなくなります。これは、サポート終了(EOL)になったバージョンのプラットフォームを使用しないようにするための措置です。

重要な情報

SwarmでのUbuntu 16.04のサポートの終了

Swarm 2021.1では、Ubuntu 16.04にSwarmをインストールすることはできません。これは、サポートされているテクノロジープラットフォームへの移行に伴う変更です。

SwarmでのCentOS 6とRHEL 6のサポートの終了

Swarm 2020.2では、CentOS 6とRHEL 6にSwarmをインストールすることはできません。これは、サポートされているテクノロジープラットフォームへの移行に伴う変更です。

Helix Coreサーバ 2020.1のストリーム仕様ファイルの権限の変更

バージョン2020.1以降のHelixサーバでは、Swarmストリーム仕様ファイルの編集と表示を行うための権限が変更されました。SwarmユーザがSwarmでストリーム仕様ファイルの表示や編集を行うには、ディポ全体(//...)に対するadmin 権限が必要です。

Swarm 2020.1のトリガスクリプトの更新

swarm.shelvedel shelve-delトリガスクリプトがSwarm 2020.1で更新されました。このトリガスクリプトが存在しない場合は、このトリガスクリプトを追加するか、Helixサーバのトリガテーブルでこのトリガスクリプトを更新する必要があります。詳細については、「Helixサーバのトリガテーブルを更新し、トリガスクリプトを実行します。」を参照してください。

Swarm 2020.1以降でのカスタムモジュールのサポート

Zend 3 Frameworkプロジェクトが、Laminasというオープンソースプロジェクトに切り替わりました(https://getlaminas.org/about/を参照)。Swarm 2020.1では、Laminas Frameworkが使用されています。これは、これまで使用していたバージョンのプラットフォームがサポート終了(EOL)になったことに伴う変更です。

バージョン2019.3以前のSwarm用に作成されたカスタムのSwarmモジュールを使用している場合は、それらのモジュールをアップグレードしてLaminas Frameworkに対応させる必要があります。ZendカスタムモジュールをLaminasモジュールに更新する方法については、「既存のカスタムモジュールをLaminas Frameworkにアップグレードする」を参照してください。

バージョン2019.1以前のSwarmのアップグレード

Swarm 2019.2では、Helix Coreサーバの負荷を軽減してパフォーマンスを改善する目的で、Redisメモリ内キャッシュが導入されました。これに伴い、Swarmで使用されていたファイルベースのキャッシュが廃止されました。

多数のユーザ、グループ、プロジェクトが存在するSwarmシステムの場合、新しいキャッシュに初めてデータを取り込む際に時間がかかることがあります。大規模なSwarmシステムを使用している場合は、Swarmのインストールやアップグレードを行う前に、Redisサーバの接続オプションと設定オプションを確認する必要があります(「Redisサーバ」を参照)。

Swarm 2019.2に対するワークフロー機能のサポートの変更

Swarmのワークフロー機能は、デフォルトで有効になっています。以前のバージョンのSwarmをアップグレードする場合は、トリガを更新する必要があります。詳細については、「Swarmのアップグレード」を参照してください。

Swarm 2019.1でサポートされるPHPとApacheのバージョンが変更されました。

Swarm 2019.1では、バージョン7.0よりも古いPHPのサポートが廃止されました。この変更の結果、Apache 2.2のサポートも廃止されました。これは、サポート終了(EOL)になったバージョンのプラットフォームを使用しないようにするための措置です。

Swarm 2019.1にアップグレードする前に、サポート対象のバージョンのPHPとApacheをインストールできることを確認してください。SwarmでサポートされるPHPとApacheのバージョンについては、「PHP」と「Apache Webサーバ」を参照してください。

Swarm 2019.1以降には、P4PHP 2019.1以降のバージョンが必要です

P4PHPの最新バージョンは、Swarmパッケージ、OVA、およびtarballのインストールに含まれます。

既知の制約事項

ユーザーIDにスラッシュ(/)が含まれている場合の問題
問題: スラッシュ(/)が含まれているユーザーIDを使用して、バージョン2020.2以前のSwarmログインすると、ユーザアイコンのスピナが表示されたままになる
解決策: この問題は、Swarm 2021.1以降の新規インストールでは修正されていますが、これよりも前のバージョンのSwarmをアップグレードした場合については修正されていません。バージョン2020.2以前のSwarmをアップグレードする際にこの問題を修正するには、/etc/apache2/sites-enabled/perforce-swarm-site.confファイルのVirtualHostブロックにAllowEncodedSlashes NoDecodeを追加します。VirtualHostブロックの詳細については、「Apache構成」を参照してください。
HelixサーバがWindows上で稼働している状態でコマンドラインを使用してシェルフを削除した場合、Swarmのshelvedelトリガが失敗することがある
以下の場合、Swarmshelvedelトリガが失敗します。
HelixサーバがWindows上でホストされている状態で、いずれかのローカルドライブのルートディレクトリでシェルフ削除コマンドを実行した場合。
例えば、c:\p4 -u bruno -c my_shelf shelve -d -c 9コマンドを実行した場合です。
Swarm 2019.2以降のユーザ名とグループ名で使用できない文字
Swarmでは、ユーザ名とグループ名で次の文字を使用することはできません: :@{}()
Swarm 2019.1以降の「ストリームのプライベート編集」機能に対するHelixサーバのサポート
サポート: ワークスペースでストリームのプライベート編集機能を使用して、ストリーム仕様を編集することができます。
サポートされていない: ロックされたストリーム仕様をSwarmでコミットすることはできません。
単一のSwarmインスタンス上の複数のHelixサーバインスタンス

問題: <swarm_root>/data/config.phpファイルのenvironmentブロックでbase_url構成可能変数の値を変更すると、Helixサーバに対するSwarmの接続がすべて失われます。この場合、システムの動作が停止します。

解決策: base_url構成可能変数を<swarm_root>/data/config.phpenvironmentブロックから削除します。

グローバルダッシュボードでシングルサインオン機能を使用できない(Helix認証サービス)
問題: Helix認証サービスSwarmに対して有効になっていて、ログインダイアログで[この資格情報を使用して使用可能なすべてのサーバへのログインを試行する]チェックボックスまたは[使用可能なすべてのサーバ]オプションが選択されている場合、Swarmは、Helix認証サービスに対して設定されているHelixサーバインスタンスへのログイン処理を実行しない。
回避策: サイドバーの[ログイン]ボタン(グローバルダッシュボードのログインボタンの画像)を使用するか、サーバインスタンス名をURLに含めて(例: https://swarm.company.com/serverA)、個別にログインを実行します。
最上位のビューで、Helixサーバの一部のコミットがプロジェクトの[コミット]タブに表示されない場合がある
プロジェクト[コミット]タブの最上位のクライアントビューは、プロジェクト内のすべてのブランチによって構成されています。
 
例えば、「Alpha」というプロジェクトが以下のブランチによって構成されているとします。
 
ブランチ: QA:
//depot/alpha/dev/QA/...
 
ブランチ: Dev:
//depot/alpha/dev/...
-//depot/alpha/dev/QA/...
 
作成順にブランチを処理し、それらすべてのブランチで先頭のパスから順に処理することにより、プロジェクトの[コミット]タブのビューが生成されます。
上記のAlphaプロジェクトの場合は、以下のような動作になります。
最初のパスでは、//depot/alpha/dev/QA/内のすべてのディレクトリとファイルが、プロジェクトの[コミット]タブの最上位ビューに表示されます。
2番目のパスでは、//depot/alpha/dev/内のすべてのディレクトリとファイルが、プロジェクトの[コミット]タブの最上位ビューに表示されます。
3番目のパスでは、//depot/alpha/dev/QA/内のすべてのディレクトリとファイルが、プロジェクトの[コミット]タブの最上位ビューから除外されます。
 
結果: QAブランチで表示されるはずの、//depot/alpha/dev/QA/に対するコミットが、プロジェクト[コミット]タブの最上位ビューに表示されなくなります。
 
ブランチが単純な構成になっている場合は、ブランチを作成する際に上記の例を考慮することにより、この問題を回避することができます。上記の例では、Devブランチを作成してからQAブランチを作成すると、//depot/alpha/dev/QA/ディレクトリがプロジェクト[コミット]タブの最上位ビューから除外されることがないため、この問題を回避することができます。
ヒント

各ブランチビューには、コミットが正しく表示されます。

Swarm OVAのインストールで「Run p4 login2」というエラーが発生する
問題: Helix認証サービス用に構成されているHelixサーバに対してSwarm OVAをインストールしようとすると、「Run p4 login2」というエラーが発生する。
回避策: Swarm OVAをインストールする前に、Helix認証サービス用に構成されているsuperユーザアカウントに対してp4 login2コマンドを実行する必要があります。p4 login2コマンドの詳細については、Helix Core P4コマンドリファレンスの「p4 login2」を参照してください。
タスクストリームのレビュー
タスクストリームのプリコミットレビューはまだサポートされていません。