0

コンテキスト: Linux システムで実行されている Tomcat (v7.0.57) で MFP v6.3 を使用しています。MFP ANT タスクを使用して、開発およびステージング MFP サーバーへの MFP アーティファクトの展開を自動化したいと考えています。具体的には、MFP アプリケーションの WAR ファイルの展開を自動化したいと考えています。

WAR ファイルをインストールする前に、unconfigureApplicationServer ANT タスクを使用して、WAR ファイルの Tomcat サーバーに存在する可能性がある以前のインストールを削除します。次に、configureDatabase ANT タスクを使用して、必要な 2 つのデータベースを作成します。最後に、configureApplicationServer ANT タスクを使用して、WAR ファイルをインストール/デプロイします。

問題: 上記のすべての ANT タスク (つまり、unconfigureApplicationServer、configureDatabase、configureApplicationServer) をエラーなしで実行できます。また、Tomcat webapps フォルダーの下のファイル システムに WAR ファイルがあることも確認できます。ただし、この後、アダプターまたは wlapp ファイルをデプロイしようとすると、必要な WAR ファイルが存在しないというエラーがスローされます。Tomcat サーバーも再起動しましたが、違いはありませんでした。MFP コンソールにアクセスしても、MFP アプリのエントリが表示されません。また、configurationTool.sh ツールを起動しても、ランタイムのエントリも表示されません。

WAR ファイルに問題がないことを確認するために、configurationTool.sh ツールを使用してデプロイしました。configurationTool.sh ツールを使用して WAR ファイルをデプロイすると、問題なく動作します (ただし、Tomcat の再起動が必要でした…)。

KnowledgeCenter で MFP のドキュメントを読んだ後、ANT タスクを使用して、適切なパラメーターを渡すだけで、MFP サーバー (tomcat) 上の MFP WAR ファイルの展開 (アンインストールとインストール) を自動化できることがわかりました。また、WAR ファイルをインストールまたは更新するたびにサーバー (tomcat) を再起動する必要がないことも期待しています。

何が間違っている可能性がありますか?ありがとう。

コード: Gradle を使用してさまざまな ANT タスクを呼び出しています。

task uninstallMFPArtifacts << {
    ant.unconfigureApplicationServer(contextRoot: contextRoot) {
        "project"(warfile: warFile)
        "applicationserver"() {
            "tomcat"(installdir: installDir)
        }
        "database"(kind: "Worklight") {
            "mysql"(database: dbPrefix + '_MFP',
                server: "localhost",
                user: dbUser,
                password: dbUser)
            "driverclasspath"() {
                "pathelement"(location : mySQLJarPath)
            }
        }        
        "database"(kind: "WorklightReports") {
            "mysql"(database: dbPrefix + '_MFP_RPT',
                server: "localhost",
                user: dbUser,
                password: dbUser)
            "driverclasspath"() {
                "pathelement"(location : mySQLJarPath)
            }
        }
    }
    println "Uninstalled: $appShortName"
}

task setupMFPDBs << {
    // Create databases
    ant.configureDatabase(kind: "Worklight") {
        "mysql"(database: dbPrefix + '_MFP',
            server: "localhost",
            user: dbUser,
            password: dbUser) {
            "dba"(user: dbaUser,
                password: dbaPassword)
            "client"(hostname: 'localhost')
            "client"(hostname: '127.0.0.1')
           }
        "driverclasspath"() {
            "pathelement"(location : mySQLJarPath)
        }
    }    
    println "Created $dbPrefix" + '_MFP database.'

    ant.configureDatabase(kind: "WorklightReports") {
        "mysql"(database: dbPrefix + '_MFP_RPT',
            server: "localhost",
            user: dbUser,
            password: dbUser) {
            "dba"(user: dbaUser,
                password: dbaPassword)
            "client"(hostname: 'localhost')
            "client"(hostname: '127.0.0.1')
        }
        "driverclasspath"() {
            "pathelement"(location : mySQLJarPath)
        }
    }
    println "Created $dbPrefix" + '_MFP_RPT database.'
}

task deployMFPArtifacts << {

    // Install WAR file
    ant.configureApplicationServer(contextRoot: contextRoot) {
        "project"(warfile: warFile)
        "applicationserver"() {
            "tomcat"(installdir: installDir)
        }
        "database"(kind: "Worklight") {
            "mysql"(database: dbPrefix + '_MFP',
                server: "localhost",
                user: dbUser,
                password: dbUser)
            "driverclasspath"() {
                "pathelement"(location : mySQLJarPath)
            }
        }        
        "database"(kind: "WorklightReports") {
            "mysql"(database: dbPrefix + '_MFP_RPT',
                server: "localhost",
                user: dbUser,
                password: dbUser)
            "driverclasspath"() {
                "pathelement"(location : mySQLJarPath)
            }
        }
    }
    println "Installed $warFile file."
}
4

1 に答える 1

0

これはランダムな推測ですが、MobileFirst Administration が 'environmentID' (サーバー構成ツールはデフォルトで and environmentID を使用) でデプロイされており、それを ant パラメーターで使用していない可能性が非常に高いエラーである可能性があります。

https://www-01.ibm.com/support/knowledgecenter/SSHS8R_7.0.0/com.ibm.worklight.deploy.doc/devref/t_ant_tasks_configure_appserver.htmlのステップ 1 を参照してください。

于 2015-05-05T19:16:40.480 に答える