3

EAR ファイルを Weblogic の AdminServer にデプロイする単純な Python スクリプトを作成しようとしています。インターネットと Oracle が提供するドキュメントを検索しましたが、アプリケーションが以前にデプロイされているかどうかを判断する方法が見つかりません。スクリプトでそれが実行されているかどうかを確認し、実行されている場合は再デプロイ コマンドを発行したいと考えています。そうでない場合は、デプロイ コマンドを発行します。

見つけたサンプル スクリプトを変更しようとしましたが、機能しているものの、意図したとおりに動作していません。私がやろうとしていたことの 1 つは、(cd コマンドを使用して) EAR が WebLogic の deployments フォルダーにあるかどうかを確認し、そうである場合は再デプロイを発行することでした。そうでない場合は、デプロイを発行する例外をスローする必要があります。ただし、スクリプトで cd コマンドを発行すると、毎回例外がスローされます。

try:
    print 'Checking for the existence of the ' + applicationName + ' application.....'
    cd('C:\\Oracle\\Middleware\\user_projects\\domains\\base_domain\\config\\deployments\\MyTestEAR.ear\\')
    print 'Redeploying....'
    #Commands to redeploy....

except WLSTException:
    #Commands to deploy

WLST Scripting Tool を使用して環境変数を設定した後、execfile("C:\MyTestDeployer.py") コマンドを使用して Windows でこのスクリプトを実行しています。何か案は?また、cd コマンドで別のパスを使用しようとしましたが、役に立ちませんでした。何か案は?

4

3 に答える 3

3

わたしにはできる:

print 'stopping and undeploying ...'

try:
    stopApplication('WebApplication')
    undeploy('WebApplication')
    print 'Redeploying...'

except Exception:
    print 'Deploy...'

deploy('WebApplication', '/home/saeed/project/test/WebApplication/dist/WebApplication.war')
startApplication('WebApplication2')
于 2012-08-12T10:05:02.973 に答える
2

昔は似たようなことをしていたのですが、やり方が違います...

-listapps オプションを指定した weblogic.Deployer インタフェースを使用して、ドメインにデプロイされたアプリ/ライブラリを一覧表示し、アーカイブで生成された application.xml の display-name 要素と比較しました。

私の場合、単純なファイル名を使用して見つけた問題は、アーカイブが生成された日付が付いていることでした。これは常に誤った比較につながります。

表示名を使用して、デプロイされるアプリ名を標準化し、後で再デプロイする新しいアーカイブと比較しました。

于 2011-09-09T21:48:33.433 に答える