суббота, 2 марта 2013 г.

Деплой Webcenter Portal Framework Application через WLST

Встала задача организовать автоматизированный деплой webcenter на разработческую площадку. В качестве билд-сервера у нас используется TeamCity. В качестве самого сборщика ant т.к. ничего другого Oracle нам не предлагает. Скрипт сборки - автогенерированный и создается через JDeveloper: File - New - General - Ant - Build file from project. Сгенерированный ant для использования на блид-сервере ( да и на машинах других разработчиков) не очень пригоден и требует доработки напильником. Все прямые пути к либам файловой системе заменены на зависящие от введенного ant property oracle.middleware.home. Пример:
  
    
      
    

    
      
    
  

  
    
    Windows ojdeploy ${oracle.jdeveloper.ojdeploy.path}
    
    Windows WLST ${oracle.jdeveloper.wlst.path}
  

  
    
    Unix ojdeploy ${oracle.jdeveloper.ojdeploy.path}
    
    Unix WLST ${oracle.jdeveloper.wlst.path}
  

  
    
      
      
      
      
      
      
      
      
      
      
      
    
  
Так же забыл отметить что-бы ojdeploy и все зависимоти были доступны на билд-сервере туда необходимо установить JDeveloper.
Далее рассмотрим сам скрипт деплоя на python:
adminUser=sys.argv[6]
adminPassword=sys.argv[7]
adminUrl=sys.argv[8]
earPath=sys.argv[1]
repositoryName=sys.argv[2]
partitionName=sys.argv[3]
repositoryType=sys.argv[4]
jndiName=sys.argv[5]
applicationName=sys.argv[9]
targetServers=sys.argv[10]

connect(adminUser,adminPassword,adminUrl)
domainRuntime()


def deployAll():
     archive = getMDSArchiveConfig(fromLocation=earPath)
     archive.setAppMetadataRepository(repository=repositoryName,partition=partitionName,type=repositoryType,jndi=jndiName,path=jndiName)
     archive.save()
     deploy(applicationName, earPath, targets=targetServers,remote='true',upload='true',usenonexclusivelock='true')


# Deploy script init
try:
 deployAll()
except:
    print "Unexpected error: ", sys.exc_info()[0]
    dumpStack()
    raise

 Далее пример build.properties для инсталяции Webcenter и integrated Weblogic Server

adminUserName=weblogic
adminPassword=weblogic1
adminUrl=t3://host:7001
repository=mds-CustomPortalDS
partition=custom.webcenter.application
repositoryType=DB
jndi=jdbc/mds/CustomPortalDS
targetServers=WC_CustomPortal

adminUserName=weblogic
adminPassword=weblogic1
adminUrl=t3://localhost:7101
repository=mds-integServerRepos
partition=custom.webcenter.application
repositoryType=File
jndi=/C:/Users/solovyev.vladimir/AppData/Roaming/JDeveloper/system11.1.1.6.38.62.29/DefaultDomain/webcenter/mds-integServerRepos
targetServers=DefaultServer
Из нюансов, для файловой реализации MDS необходимо указывать допольнительную переменную jndi.
Во общем-то все спасибо за внимание!

Комментариев нет:

Отправить комментарий