近期一个项目属于测试过渡期,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自动发布的更多相关文章

  1. [自动运维]oracle自动备份

    数据是应用的核心部分,程序坏了换台机器重新发布就可以,但数据一旦丢失,造成的损失将不可挽回,程序发布到生产后,数据的备份便显得尤为重要,由于不一定所有的服务均有资金完成高级的备份如RAC和DG,在我们 ...

  2. Linux轻量级自动运维工具-Ansible浅析【转】

    转自 Linux轻量级自动运维工具-Ansible浅析 - ~微风~ - 51CTO技术博客http://weiweidefeng.blog.51cto.com/1957995/1895261 Ans ...

  3. Linux自动运维工具Ansible的使用

    Linux自动运维工具Ansible的使用 我们熟悉这个工具后, 可以很轻松的安装k8s. 一.介绍 ansible - run a task on a target host(s) Ansible是 ...

  4. Linux轻量级自动运维工具-Ansible浅析 转

    转自 Linux轻量级自动运维工具-Ansible浅析 - ~微风~ - 51CTO技术博客http://weiweidefeng.blog.51cto.com/1957995/1895261 Ans ...

  5. .netcore下的微服务、容器、运维、自动化发布

    原文:.netcore下的微服务.容器.运维.自动化发布 微服务 1.1     基本概念 1.1.1       什么是微服务? 微服务架构是SOA思想某一种具体实现.是一种将单应用程序作为一套小型 ...

  6. Windows服务器Pyton辅助运维--01.自动Copy文件(文件夹)到远程服务器所在目录

    Windows服务器Pyton辅助运维 01.自动Copy文件(文件夹)到远程服务器所在目录 开发环境: u  Web服务器: Windows Server 2008 R2 SP1 IIS 7.5 u ...

  7. 18.自动运维工具ansible

    1 Ansible 介绍和架构 1.1 Ansible介绍 ansible 的名称来自科幻小说<安德的游戏>中跨越时空的即时通信工具,使用它可以在相距数光年的 距离,远程实时控制前线的舰队 ...

  8. 自动运维:Ansible -ansible tower

    文档主页:http://docs.ansible.com/参考文档:http://docs.ansible.com/ansible/参考文档:http://docs.ansible.com/ansib ...

  9. CentOS 升级 openSSH+ sh脚本自动运维

     升级前后对比 openSSH作为linux远程连接工具,容易受到攻击,必须更新版本来解决,低版本有如下等漏洞: OpenSSH 远程代码执行漏洞(CVE-2016-10009) OpenSSH au ...

随机推荐

  1. 【数据结构】book3_3 表达式求值

    #include<iostream> #include <stdlib.h> using namespace std; typedef int Status; ; ; ; ; ...

  2. php curl get post

    post有3种. 1.post方式 privatefunction send_post($url,$post_data){ $ch = curl_init($url); curl_setopt($ch ...

  3. iOS蓝牙4.0

    iOS的蓝牙用到了  CoreBluetooth 框架 首先导入框架 #import <CoreBluetooth/CoreBluetooth.h> 我们需要一个管理者来管理蓝牙设备,CB ...

  4. asp.net 图片下载

    string fileName = "123.jpg";//图片名字                    string filePath = Server.MapPath(&qu ...

  5. Qt 获取Mac地址

    QList<QNetworkInterface> list = QNetworkInterface::allInterfaces(); foreach(QNetworkInterface ...

  6. [Android Pro] 网络流量安全测试工具Nogotofail

    reference to : http://www.freebuf.com/tools/50324.html 从严重的HeartBleed漏洞到苹果的gotofail 漏洞,再到最近的SSL v3 P ...

  7. python基础——多重继承

    python基础——多重继承 继承是面向对象编程的一个重要的方式,因为通过继承,子类就可以扩展父类的功能. 回忆一下Animal类层次的设计,假设我们要实现以下4种动物: Dog - 狗狗: Bat ...

  8. Innodb之监控Buffer pool Load progress

    你可以使用PERFORMANCE SCHEMA中的相关信息监控BUFFER POOL状态加载进程. 1. 启用 stage/innodb/buffer pool load instrument: 2. ...

  9. HBase参数配置及说明(转)

    版本:0.94-cdh4.2.1 hbase-site.xml配置 hbase.tmp.dir 本地文件系统tmp目录,一般配置成local模式的设置一下,但是最好还是需要设置一下,因为很多文件都会默 ...

  10. Scrapy爬取美女图片 (原创)

    有半个月没有更新了,最近确实有点忙.先是华为的比赛,接着实验室又有项目,然后又学习了一些新的知识,所以没有更新文章.为了表达我的歉意,我给大家来一波福利... 今天咱们说的是爬虫框架.之前我使用pyt ...