[自動運維]weblogic自動發布


  近期一個項目屬於測試過渡期,bug修復比較頻繁,每次都會伴隨着項目的打包、上傳、發布,此類重復操作近乎每天都會進行,剛好最近在看python相關資料,決定重新將此前學習的weblogic的wlst相關內容重新整理一份腳本:

#!/home/weblogic/wlserver_10.3/common/bin/wlst.sh

import sys
if len(sys.argv)==2:
    appName=sys.argv[1]
    print "start connect weblogic"
    connect('weblogic','weblogic','t3://localhost:7001')
    print "===========stop "+appName+" ==============="
    stopApplication(appName)
    #edit()
    #print "========undeploy web=========="
    #undeploy('web')
    #activate()

    print "==============reploy  "+appName+"  ========"
    redeploy(appName)

    #print "=========deploy web============="
    #deploy('web','/home/weblogic/user_projects/domains/base_domain/servers/pweb/deploy/web','web')
    #activate()
    print "==========deploy "+appName+"========="
    startApplication(appName)
    exit()
else:
    print "please input the appName"

以下為逐一說明:

1、由於wlst腳本基於jyphon,但又不能直接使用python進行解析,因此需要首先定義解析器,解析器為weblogic自帶腳本wlst.sh
#!/home/weblogic/wlserver_10.3/common/bin/wlst.sh

2、由於有多個項目,每次啟動無法確定,因此從外部傳輸要啟動的appName,python使用sys.argv獲取外部參數,外部參數第一個固定為腳本名稱,第二個開始為外部參數。因此判斷是否傳入appName

import sys
if len(sys.argv)==2:
    appName=sys.argv[1]

3、wlst操作weblogic需要首先登陸

connect('weblogic','weblogic','t3://localhost:7001')

4、登陸后依次進行如下操作,停止應用,重新發布,啟動應用,

    stopApplication(appName)#停止應用
    redeploy(appName)#重新發布
    startApplication(appName)#啟動應用

5、為了防止內存溢出,也可以采用刪除應用和重新部署

    edit()#啟用編輯模式
    undeploy('web') #刪除應用發布                   
  deploy('web','/home/weblogic/user_projects/domains/base_domain/servers/deploy/web','web')#發布應用
    activate()#激活

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM