2016-05-26 2 views
-1

Не могли бы вы рассмотреть нижеследующую проблему?IBM Websphere - скрипт wsadmin для 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 

Теперь я в состоянии развернуть войну, но имя файла становится изменение PA_Test.war154ed2178ed.ear, но его должно быть на самом деле PA_Test.ear. Не могли бы вы помочь изменить текущий скрипт?

ответ

1

Короткий ответ:

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

+0

По вашему сценарию Marcin я могу его развернуть. Еще один вопрос, который я хотел бы сказать, как сопоставить портлет со страницей, автоматизируя процесс? – user1251973

Смежные вопросы