码迷,mamicode.com
首页 > Web开发 > 详细

[自动运维]weblogic自动发布

时间:2015-10-18 01:15:21      阅读:293      评论:0      收藏:0      [点我收藏+]

标签:

  近期一个项目属于测试过渡期,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()#激活

 

[自动运维]weblogic自动发布

标签:

原文地址:http://www.cnblogs.com/jyyzzjl/p/4888738.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!