Confluence アップグレード用にステージング環境を作成する
Confluence をアップグレードする際は、本番サイトをアップグレードする前に、テスト環境でアップグレードを実施することを強くお勧めします。このガイドでは、テスト環境をステージングと読んでいます。
ほとんどの Confluence ライセンスには、ステージング環境用に無料の開発ライセンスが含まれています。Confluence 開発ライセンスを取得する方法をご確認ください。
On this page:
ステージング環境の作成
1. 環境の複製
ステージング環境は、リバース プロキシ、SSL 設定、またはロードバランサ(データセンターの場合)を含めて、実環境(本番)環境を厳密に複製する必要があります。異なる物理サーバーまたは仮想ソリューションを使用することもできます。重要なことは、本番環境の適切なレプリカとすることです。
以下の説明では、ステージング環境が物理的に本番環境と分離されており、同じオペレーティングシステム を備えていることを前提としています (Confluence を手動でインストールした場合には、同一の Java バージョンであることも前提となります)。
2. データベースの複製
データベースを複製する手順
- 本番環境データベースをバックアップします。バックアップの最良の方法の詳細については、データベースのドキュメントを参照してください。
- ステージング サーバーにデータベースをインストールし、バックアップをリストアします。
元のデータベース名を参照している可能性のあるデータベース トリガーを再作成します。SQLServer を使用している場合は、それらを特定するのに次のクエリが役立つ可能性があります。
SELECT table_name = so.name ,trigger_name = st.name ,trigger_text = sc.text ,create_date = st.create_date FROM sys.triggers st JOIN sysobjects so ON st.parent_id = so.id JOIN syscomments sc ON sc.id = st.[object_id];
データベース バックアップのリストア手順は、選択したデータベースとバックアップ ツールによって異なります。以下を確認してください。
- 新しいステージング データベースが本番環境データベースと異なる名前であること。
- ステージング データベースのユーザーアカウントは、本番データベースのユーザーアカウントと同じユーザー名およびパスワードです。
- 文字エンコードおよびその他の設定は本番データベースと同じです (たとえば、Oracle データベースの場合、文字エンコードは Unicode UTF-8 (または AL32UTF8 のはずです)。
3 Confluence の複製
Confluence を複製するには、ご使用の Confluence インストールのコピーを作成し、ステージング データベースをポイントするようにします。これらの手順は、Confluence Data Center の非クラスター (単一ノード) インスタンスのみに適用されます。Confluence Data Center をクラスターで実行する場合は、追加の手順がいくつか必要になります。
- 本番環境のインストール ディレクトリ全体をステージング サーバーにコピーします。
- 本番環境のホームディレクトリ全体をステージングサーバーにコピーします。
<installation-directory>/confluence/WEB-INF/classes/confluence-init.properties
を編集し、ステージング ホーム ディレクトリを指定します。<home-directory>/confluence.cfg.xml
または<installation-directory>/server.xml
を編集し、ステージング データベースを指すようにします。以下のシステムプロパティで Confluence を起動し、ステージングサイトが実際のユーザーに通知を送信しないことを確認します。
-Datlassian.notifications.disabled=true -Datlassian.mail.senddisabled=true
http://localhost:<port>
に進み、ステージング サーバーの Confluence にログインします。- [管理] メニュー から [一般設定] に移動し、ステージング サイトのベース URL を変更します (例:
mysite.staging.com
)。 - [管理] メニュー から [一般設定] > [ライセンス詳細] に移動し、開発ライセンスを適用します。
[管理] メニュー から [一般設定] > [システム情報] に移動し、Confluence がステージング データベースとステージング ホーム ディレクトリを正しくポイントしていることを確認します。
本番環境データベースにまだ接続されていないことを確認するのは必須です。
クラスター内の Data Center の追加手順
Confluence Data Center をクラスターで実行している場合、プロセスは前述の単一サーバーで Confluence を実行する場合とほとんど同じです。唯一の違いは、ローカルのホームとインストール ディレクトリを各ステージング ノードにコピーしてから、次のことを行う必要があることです。
- 本番環境の共有ホーム ディレクトリをステージング サーバーにコピーします。
<local-home-directory>/confluence.cfg.xml
を編集し、ステージングの共有ホーム ディレクトリを指定します。この変更は、すべてのステージング ノードで実施する必要があります。
<installation-directory>/confluence/WEB-INF/classes/confluence-init.properties
および <home-directory>/confluence.cfg.xml
に対する変更は、すべてのステージング ノードで実施する必要があります。
Confluence を起動するときは、通常どおり、一度に1つのノードを起動してください。
4 外部ユーザー管理の複製 (オプション)
Jira、Crowd、または外部 LDAP ディレクトリでユーザーを管理している場合、以下が可能です。
- ステージング環境の Jira、Crowd、または外部ディレクトリを複製し、Confluence ステージング サイトがステージング外部ディレクトリを使用するように指定しすることができます(推奨)。
- ステージング用サーバーをネットワークに接続するか、本番用サーバーと同じホストにローカルからアクセスします。
その他の構成オプション
ステージング環境では、本番環境に影響しないようにしたり、ユーザーのために本番環境と明確に区別できるようにしたりするために、多数の変更を行います。
シングル サインオンを回避する
シングル サインオンを設定している場合は、ステージング環境でこれを回避します。
「Confluence Data Center で既定のログイン ページを有効にして SAML を回避する」をご参照ください。
CDN を無効にする
静的アセットをキャッシュするように CDN を設定した場合、CDN 設定はステージング環境用ではなく本番環境用であるため、リソースが壊れるという問題が発生する可能性があります。
CDN を無効にする方法については、「Confluence Data Center 用に CDN を設定する」をご参照ください。
アプリケーション リンクの変更 (推奨)
Confluence と他のアトラシアン アプリケーションとの間にアプリケーション リンクが存在する場合、各ステージング アプリケーションでサーバー ID を変更する必要があります。「Confluence のサーバー ID を変更する方法」および、Jira については「Jira サーバーのインスタンスのサーバー ID を変更する」を参照してください。
サーバー ID を変更せず、アプリケーション リンクを更新する場合、本番環境で新しいアプリケーション リンクを作成すると、代わりにステージング サーバーを指すことになります。
データベースでアプリケーション リンクのレビューを手動で行うには、次の SQL クエリを使用します。
select * from bandana where bandanakey like 'applinks%';
外部ガジェットの変更
外部ガジェットを構成している場合は、次の SQL クエリを使用してデータベースから更新できます。
select * from bandana where bandanakey = 'confluence.ExternalGadgetSpecStore.specs'
グローバル カラー スキームの変更
本番サイトと区別できるよう、ステージング サイトでは別のカラー スキームを使用することをおすすめします。この方法については、「カラー スキームのカスタマイズ」を参照してください。
次の SQL クエリを使用してデータベースでこのデータを見つけることもます。
select * from bandana where bandanakey = 'atlassian.confluence.colour.scheme';
インスタンス名の変更 (推奨)
本番環境サイトと区別できるよう、ステージング サイトの名前を変更することをおすすめします。[管理] メニュー から [一般設定] に移動し、Confluence を実行中の場合は、[サイト タイトル] を更新します。
Confluence が実行されていない場合、これをデータベースから実行できます。次の SQL クエリを使用してサイト タイトルを見つけることができます。
select * from bandana where bandanakey = 'atlassian.confluence.settings';
setTitle.
属性を探します。
バナーの追加
ステージング サイトにバナーを追加すると、最終更新日や、変更を加えたい場合の連絡先などの便利な情報を提供できます。
Confluence Data Center ライセンスをお持ちの場合は、読み取り専用モードで提供されるするバナーを有効化してこれを実現できます (バナーは読み取り専用モードを有効化しなくても使用できます)。
HTML を使用して手動でバナーを追加することもできます。[管理] メニュー から [一般設定] > [カスタム HTML] に移動します。タグが適切に閉じられていることを確認します。不適切なタグがある場合、Confluence が正常に表示されない場合があります。
Confluence の起動前にバナーを追加したい場合、データベースで実行することができます。次の SQL クエリを使用してカスタム HTML を見つけることができます。
select * from bandana where bandanakey = 'atlassian.confluence.settings';
customHtmlSettings
→ afterBodyStart
属性を見つけます。
特定のプラグインの無効化
特定のプラグインの無効化や、これらのプラグインがすでに無効化されているかの確認を行うことをお勧めします。これらの方法については、ナレッジ ベース記事「データベースからすべての Confluence Data Center プラグインを既定の状態にリセットする方法」をご参照ください。
Confluence 6.1 以降で Java システム プロパティを使用して Confluence でプラグインを無効化することもできます。
ステージング環境のアップグレード
ステージング環境を作成したら、本番環境を同じ方法で更新することができます。
アップグレードの所要時間をメモします。この情報は、本番システムの停止を計画したり、ユーザーと連絡を取ったりする際に役立ちます。
ステージング環境を使用して、カスタマイズやサイトに必須の Marketplace アプリをテストすることもできます。