ColdFusion でのパッケージインストールの自動化(2021 リリース)

概要

ColdFusion(2021 リリース)には、様々なパッケージのインストール/アンインストールを管理するパッケージマネージャーがあります。

この文書では、パッケージのインストール/アップデートのプロセスを自動化し、ColdFusion の複数のインスタンスに適用する手順について説明します。

前提条件

必要なパッケージを ColdFusion インストールの 1 つのインスタンスにインストールします。

例えば、axisawsdynamodbawss3 の各パッケージをインストールします。

administratoradminapi は事前にインストールされています。

これにより、サーバーの状態をファイルにエクスポートできます。このファイルを使用して、他のすべての ColdFusion インスタンスでこれらのパッケージをインストールまたは更新します。

状態のエクスポート
状態のエクスポート

サーバーの状態をエクスポートする

ColdFusionでサーバーの状態をエクスポートするには、次の 2 つの方法があります。

  1. CFPM ユーティリティ
  2. ColdFusion Administrator

CFPM ユーティリティ

  1. コマンドラインで CFPM ユーティリティを起動します。
  2. export <ファイルのパス>\currentServerState.txt コマンドを実行します。
エクスポート
エクスポート

ColdFusion Administrator

  1. ColdFusion Administrator/Package Manager を起動します。
  2. Export Server State(サーバーの状態をエクスポート)」ボタンをクリックします。
サーバーの状態をエクスポートする
サーバーの状態をエクスポートする

必要なファイルがダウンロードされます。

import

次に、フロー全体を自動化します。その前に、前の手順で作成したファイルの使い方を確認しておきます。

import コマンドは、CFPM ユーティリティでのみサポートされます。

CFPM ユーティリティ

  1. コマンドラインで CFPM ユーティリティを起動します。
  2. import <ファイルのパス>\currentServerState.txt コマンドを実行します。

このコマンドは、必要なパッケージをすべてインストールします。利用可能であれば、サーバーのアップデートも適用します。

パッケージの読み込み
パッケージの読み込み

スクリプトを適用する

サーバーの状態をインポートとエクスポートの方法を説明しました。次に、この処理全体を自動化する方法を説明します。

サンプルのスクリプトファイル(Windows と Windows 以外)を使用できます。このファイルは、次の場所からダウンロードできます。独自のスクリプトファイルを作成して、この処理を自動化することもできます。

ダウンロード

Windows の場合

次のことを前提とします。

  • ColdFusion ホーム: C:\ColdFusion2021
  • インスタンス:
    • cfusion
    • instance1
    • instance2
    • instance3
    • instance4

また、cfusion に必要なパッケージをすべてインストールし、サーバーの状態をエクスポートしています。

残りのインスタンスにサーバーの状態を適用するには、次の手順に従います。

  1. ディレクトリ(例えば、C:\Updates)に次のファイルをコピーします。

    • updates.bat
    • currentServerState.txt
  2. コマンドプロンプトを開きます。プロンプトで次のコマンドを実行します。

    updates.bat C:\ColdFusion2021 C:\Updates\currentServerState.txt instance1 instance2 instance 3 instance 4

    このコマンドを実行すると、axisawsdynamodbawss3 パッケージと一緒に administratoradminapi パッケージが 4 つのすべてのインスタンスに自動的にインストールされます。

Linux

次のことを前提とします。

  • ColdFusion ホーム:/opt/ColdFusion2021
  • インスタンス:
    • cfusion
    • instance1
    • instance2
    • instance3
    • instance4

また、cfusion に必要なパッケージをすべてインストールし、サーバーの状態をエクスポートしています。

残りのインスタンスにサーバーの状態を適用するには、次の手順に従います。

  1. ターミナルを起動し、<CF パスのホーム>/cfusion/bin ディレクトリに移動します。

  2. updates.sh<CF ホームのパス>/cfusion/bin ディレクトリにコピーします。

  3. 開いているターミナル ウィンドウで、次のコマンドを実行します。

    。/updates.sh /opt/ColdFusion2021 <パス>/currentServerState.txt instance1 instance2 instance3 instance4

    このコマンドを実行すると、axisawsdynamodbawss3 パッケージと一緒に administratoradminapi パッケージが 4 つのすべてのインスタンスに自動的にインストールされます。

このフローの自動化で問題が発生した場合は、次の連絡先までお問い合わせください。

付録

Updates.bat

@echo off setlocal enabledelayedexpansion :: USAGE :: update.bat C:\ColdFusion C:\cfpackages.txt instance1 instance2 ...... 
:: First argument is the ColdFusion home directory :: Second argument is the file which was exported from a server :: From there on are all the instances of CF where you want to apply the updates to set argCount=0 for %%x in (%*) do ( set /A argCount+=1 set argVec[!argCount!]=%%~x ) set pathToExportedFile=&quot;!argVec[2]!&quot; 
set pathToCFHome=!argVec[1]! 
 
for /L %%i in (3,1,%argCount%) do ( echo Executing &quot;%pathToCFHome%\!argVec[%%i]!\bin\cfpm.bat&quot; import %pathToExportedFile% call &quot;%pathToCFHome%\!argVec[%%i]!\bin\cfpm.bat&quot; import %pathToExportedFile% ) pause

Updates.sh

#!/bin/bash ARGUMENTS=() declare count=1 declare pathToExportedFile='' declare pathToCFHome='' for var in &quot;$@&quot; do if [ $count == 1 ] then pathToCFHome=(&quot;$var&quot;) elif [ $count == 2 ] then pathToExportedFile=(&quot;$var&quot;) else ARGUMENTS+=(&quot;$var&quot;) fi count=$((count+1)) done for i in &quot;${ARGUMENTS[@]}&quot; do SCRIPT_PATH=&quot;${pathToCFHome}/${i}/bin/cfpm.sh&quot; echo &quot;Executing: ${SCRIPT_PATH} import ${pathToExportedFile}&quot; 
    . &quot;${SCRIPT_PATH}&quot; &quot;import&quot; &quot;${pathToExportedFile}&quot; done

Adobe, Inc.

ヘルプをすばやく簡単に入手

新規ユーザーの場合