IBM Websphere - 用于自动部署的 wsadmin 脚本
IBM Websphere - wsadmin script for AutoDeployment
你能看看下面的问题吗?
import time
node = AdminConfig.getid('/Node:node111/')
print node
print "sss" +AdminControl.queryNames('WebSphere:type=Server,*')
cell = AdminControl.getCell()
print " Cell name is --> "+ cell
warLoc='/home/test/PA_Test.war'
appName='PA_Test'
cellName=AdminControl.getCell()
print cellName
nodeName=AdminControl.getNode()
print "hello"
print " nodeName is --> "+ nodeName
appManager=AdminControl.queryNames('cell='+cellName+',node=node111,type=ApplicationManager,process=WebSphere_Portal,*')
print appManager
application = AdminConfig.getid("/Deployment:"+appName+"/")
print 'printing application name in next line'
print application
len(application)
print application
len(application)
var1 = len(application)
if var1:
print "Application exists"
print "before uninstall"
AdminApp.uninstall('PA_Test')
print "after uninstall"
AdminConfig.save()
else:
print "Application doesnot exist"
print "Before install"
print AdminApp.install(warLoc,'[-target default -usedefaultbindings -defaultbinding.virtual.host default_host]')
print "Done from My Side"
print "After install"
AdminConfig.save()
time.sleep(30)
AdminControl.invoke(appManager , 'startApplication',appName)
print "The script is completed."
Below is the successful message:
ADMA5016I: Installation of PA_Test.war154ed2178ed started.
ADMA5058I: Application and module versions are validated with versions of deployment targets.
ADMA5005I: The application PA_Test.war154ed2178ed is configured in the WebSphere Application Server repository.
ADMA5005I: The application PA_Test.war154ed2178ed is configured in the WebSphere Application Server repository.
ADMA5081I: The bootstrap address for client module is configured in the WebSphere Application Server repository.
ADMA5053I: The library references for the installed optional package are created.
ADMA5001I: The application binaries are saved in /opt/IBM/WebSphere/wp_profile/wstemp/Script154ed215c59/workspace/cells/inpudingpwmtst1Cell/applications/PA_Test.war154ed2178ed.ear/PA_Test.war154ed2178ed.ear
现在我可以部署 war,但文件名正在更改为 PA_Test。war154ed2178ed.ear 但它实际上应该是 PA_Test.ear。你能帮忙改变当前的脚本吗?
简答:
print AdminApp.install(warLoc, [
'-appname', 'PA_Test.ear',
'-target', 'default',
'-usedefaultbindings',
'-defaultbinding.virtual.host', 'default_host'
])
更短的一个:使用WDR。
您需要一个应用程序清单文件PA_Test.wdra
:
PA_Test.ear pa.war
target default
usedefaultbindings
defaultbinding.virtual.host default_host
...和用于导入此清单的 Jython 脚本:
alreadyInstalled = 'PA_Test.ear' in AdminApp.list().splitlines()
importApplicationManifest('PA_Test.wdra')
save()
sync()
while AdminApp.isAppReady('PA_Test.ear') != 'true':
time.sleep(10)
if not alreadyInstalled:
for appMgr in queryMBeans(type='ApplicationManager', process='WebSphere_Portal'):
appMgr.startApplication('PA_Test.ear')
披露:我是 WDR
的贡献者和维护者
你能看看下面的问题吗?
import time
node = AdminConfig.getid('/Node:node111/')
print node
print "sss" +AdminControl.queryNames('WebSphere:type=Server,*')
cell = AdminControl.getCell()
print " Cell name is --> "+ cell
warLoc='/home/test/PA_Test.war'
appName='PA_Test'
cellName=AdminControl.getCell()
print cellName
nodeName=AdminControl.getNode()
print "hello"
print " nodeName is --> "+ nodeName
appManager=AdminControl.queryNames('cell='+cellName+',node=node111,type=ApplicationManager,process=WebSphere_Portal,*')
print appManager
application = AdminConfig.getid("/Deployment:"+appName+"/")
print 'printing application name in next line'
print application
len(application)
print application
len(application)
var1 = len(application)
if var1:
print "Application exists"
print "before uninstall"
AdminApp.uninstall('PA_Test')
print "after uninstall"
AdminConfig.save()
else:
print "Application doesnot exist"
print "Before install"
print AdminApp.install(warLoc,'[-target default -usedefaultbindings -defaultbinding.virtual.host default_host]')
print "Done from My Side"
print "After install"
AdminConfig.save()
time.sleep(30)
AdminControl.invoke(appManager , 'startApplication',appName)
print "The script is completed."
Below is the successful message:
ADMA5016I: Installation of PA_Test.war154ed2178ed started.
ADMA5058I: Application and module versions are validated with versions of deployment targets.
ADMA5005I: The application PA_Test.war154ed2178ed is configured in the WebSphere Application Server repository.
ADMA5005I: The application PA_Test.war154ed2178ed is configured in the WebSphere Application Server repository.
ADMA5081I: The bootstrap address for client module is configured in the WebSphere Application Server repository.
ADMA5053I: The library references for the installed optional package are created.
ADMA5001I: The application binaries are saved in /opt/IBM/WebSphere/wp_profile/wstemp/Script154ed215c59/workspace/cells/inpudingpwmtst1Cell/applications/PA_Test.war154ed2178ed.ear/PA_Test.war154ed2178ed.ear
现在我可以部署 war,但文件名正在更改为 PA_Test。war154ed2178ed.ear 但它实际上应该是 PA_Test.ear。你能帮忙改变当前的脚本吗?
简答:
print AdminApp.install(warLoc, [
'-appname', 'PA_Test.ear',
'-target', 'default',
'-usedefaultbindings',
'-defaultbinding.virtual.host', 'default_host'
])
更短的一个:使用WDR。
您需要一个应用程序清单文件PA_Test.wdra
:
PA_Test.ear pa.war
target default
usedefaultbindings
defaultbinding.virtual.host default_host
...和用于导入此清单的 Jython 脚本:
alreadyInstalled = 'PA_Test.ear' in AdminApp.list().splitlines()
importApplicationManifest('PA_Test.wdra')
save()
sync()
while AdminApp.isAppReady('PA_Test.ear') != 'true':
time.sleep(10)
if not alreadyInstalled:
for appMgr in queryMBeans(type='ApplicationManager', process='WebSphere_Portal'):
appMgr.startApplication('PA_Test.ear')
披露:我是 WDR
的贡献者和维护者