</pre>基于眼下业务的版本号。使用的maven 及tomcat <p></p><p>假设我们使用 Jenkins 公布是比較好的,可是存在一定的问题,就是须要学习时间,</p><p>基于我们的项目。我使用python 自己主动构建公布环境</p><p>脚本例如以下:</p><p></p><pre code_snippet_id="498203" snippet_file_name="blog_20141027_2_7484436" name="code" class="python">#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import os
import ConfigParser
homedir = os.getcwd()
print homedir
config = ConfigParser.ConfigParser()
config.read("config.propties")
user_name = config.get("SVN", "user_name").decode('utf8').encode('cp936')
user_password = config.get("SVN", "user_password").decode('utf8').encode('cp936')
check_out_dir = homedir
log_name = config.get("SVN", "log_name").decode('utf8').encode('cp936')
script_dir = homedir
pkg_name=homedir+os.path.sep+"mabaobang-web"+os.path.sep+"target"+os.path.sep+"mabaobang-web.war"
rmote_ip=config.get("SVN", "rmote_ip")
rmote_user=config.get("SVN", "rmote_user")
rmote_passwd=config.get("SVN", "rmote_passwd")
print "pkg_name",pkg_name
script_dir=config.get("SVN", "script_dir").decode('utf8').encode('cp936')
command = "svn log -v --xml " + check_out_dir + " > " + log_name + " --username " + user_name + " --password " + user_password
os.system( command )
os.chdir(check_out_dir)
print os.path.abspath(".").decode('cp936').encode('utf8')
command1="svn update "+ check_out_dir + " --username " + user_name + " --password " + user_password +" --no-auth-cache --non-interactive --trust-server-cert"
os.system( command1 )
os.system("mvn clean:clean package");
file_object = open('123123.txt', 'w')
file_object.write("open 192.168.15.234\n")
file_object.writelines("put "+pkg_name+"\n")
#file_object.writelines(file.newlines)
file_object.writelines("bye\n")
#file_object.writelines(file.newlines)
#file_object.writelines(file.newlines)
file_object.flush()
file_object.close() if os.path.exists(pkg_name):
os.chdir(homedir)
try:
command_sftp="ftp.exe -l "+ rmote_user +" -pw "+rmote_passwd+" -b 123123.txt "
os.system( command_sftp )
except Exception,e:
print "done"
finally:
command_ssh="ssh.exe -ssh -pw "+ rmote_passwd +" "+rmote_passwd+ "@192.168.15.234 '/home/momabo/deploy.sh' "
os.system( command_ssh )

配置文件例如以下:

[SVN]
user_name=111111
user_password=000000
#check_out_dir=D:\11111\1111-parent
log_name=E:\log.log
#out_put_dir=D:\1111\111-parent
#war_name=D:\11111111-parent\11111111111111-web\target\111111111-web.war
rmote_ip=192.168.15.234
rmote_user=xxxx

须要二个开源软sftp.exe  http://the.earth.li/~sgtatham/putty/0.63/x86/psftp.exe

和 ssh.exe  http://the.earth.li/~sgtatham/putty/0.63/x86/plink.exe 进行下载后就能够了

自己主动化公布后台脚本

!/bin/bash 
###? 碌?梅? 猫?陋掳????娄碌?war路?碌陆录? ?驴? 录???忙
###碌??禄虏陆拢潞录矛虏茅? ?? 娄碌? 掳眉??路帽??麓芦碌陆录??驴?录?? 拢潞
USER_HOME=/home/3213123
TOMCAT_HOME=${USER_HOME}/tomcat
#?娄??碌?? 驴?录
APP_HOME=${TOMCAT_HOME}/webapps/12313123-web
CONF_FILE=${APP_HOME}/WEB-INF/classes/config.properties
IP_ADD=127.0.0.1
MYSQL_USER_NAME=root
MYSQL_USER_PASSWD=213131
UPLOAD_DIR=/home/312312312/upload ###碌? ?禄虏陆拢潞录矛虏茅? ? ? 娄碌?掳眉? ?路帽??麓芦碌陆录? ? 驴?录??拢潞
if [ ! -f ${USER_HOME}/mabaobang-web.war ];then
    echo -e "\033[31m ERROR:Pkg ${USER_HOME}/mabaobang-web.war is not  exist. \033[0m"
    exit 1
fi
####碌? 露镁虏陆?拢?鹿路镁?帽
${TOMCAT_HOME}/bin/shutdown.sh
####?楼鲁媒?禄虏驴路?碌?????
if [ ! -d ${APP_HOME} ];then
    echo -e "\033[31m ERROR:Dir ${APP_HOME} is not  exist. \033[0m"
    exit 1
else
   rm -rf ${APP_HOME}/*
fi mv ${USER_HOME}/1312313-web.war ${APP_HOME}/
cd ${TOMCAT_HOME}/webapps/m312321g-web
jar -xvf ${APP_HOME}/3132133-web.war ##??赂??盲????录镁
dos2unix  ${CONF_FILE} ##??赂??盲?? ? ?录镁
sed -i "s/\/\/127.0.0.1/\/\/${IP_ADD}/g" ${CONF_FILE}
sed -i "s/^[ ]*jdbc_username=.*/jdbc_username=${MYSQL_USER_NAME}/g" ${CONF_FILE}
sed -i "s/^[ ]*jdbc_password=.*/jdbc_password=${MYSQL_USER_PASSWD}/g" ${CONF_FILE}
                                                                                          

web的自己主动化公布的更多相关文章

  1. Web系统自己主动化部署脚本

    Web开发的项目,除了在本地直接执行外,还可能常常须要在server上部署. 写了个自己主动化部署的脚本,仅供參考. 不少地方须要配置路径.个人建议使用绝对路径,不用依赖执行脚本时所在的路径. #!/ ...

  2. 【前端福利】用grunt搭建自己主动化的web前端开发环境-完整教程

    jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用! 1. 前言 各位web前端开发者.假设你如今还不知道grunt或者听说过. ...

  3. Maven实现Web应用集成測试自己主动化 -- 部署自己主动化(WebTest Maven Plugin)

    上篇:Maven实现Web应用集成測试自己主动化 -- 測试自己主动化(WebTest Maven Plugin) 之前介绍了怎样在maven中使用webtest插件实现web的集成測试,这里有个遗留 ...

  4. Maven实现Web应用集成測试自己主动化 -- 測试自己主动化(WebTest Maven Plugin)

    近期在appfuse看到使用webtest-maven-plugin实现Web应用的集成測试,研究了下.感觉很不错.对于Web应用自己主动构建很有帮助,在性能測试之前能够保证Web应用的基本功能工作正 ...

  5. Maven实战(五)——自己主动化Web应用集成測试

    自己主动化集成測试的角色 本专栏的上一篇文章讲述了Maven与持续集成的一些关系及详细实践,我们都知道,自己主动化測试是持续集成不可缺少的一部分,基本上,没有自己主动化測试的持续集成,都非常难称之为真 ...

  6. Windows环境搭建Web自己主动化測试框架Watir(基于Ruby)

    web自己主动化測试一直是一个比較迫切的问题 图1-1 须要安装的工具 http://railsinstaller.org/ 由于安装Ruby还须要用到其它的一些开发工具集.所以建议从站点http:/ ...

  7. Selenium2 Python 自己主动化測试实战学习笔记(五)

    7.1 自己主动化測试用例 无论是功能測试.性能測试和自己主动化測试时都须要编写測试用例,測试用例的好坏能准确的体现了測试人员的经验.能力以及对项目的深度理解. 7.1.1 手工測试用例与自己主动化測 ...

  8. Android自己主动化測试解决方式

    如今,已经有大量的Android自己主动化測试架构或工具可供我们使用,当中包含:Activity Instrumentation, MonkeyRunner, Robotium, 以及Robolect ...

  9. gulp自己主动化任务脚本在HybridApp开发中的使用

    眼下做前端开发的同学可能都熟悉grunt.fis之类的自己主动化构建工具.事实上在HybridApp开发中我们也能够使用这些工具来简化我们的工作.gulp就是一个比grunt,fis都先进的构建工具. ...

随机推荐

  1. git上手简洁手册

    下载安装git 创建文件夹:learngit 用Git CMD进入文件夹: cd learngit 用Git CMD初始化git: git init 创建文件:新建一个文件在learngit文件夹下, ...

  2. Qt 杂记——QTableWidget列表添加、删除(备份)

    1.列表的添加 需求:向一个有两列的Table中添加一条数据 思路:新建一个inputDialog,通过按钮打开Qt自带的inputDialog,传递回输入的数据,再添加到列表中 界面: 代码: in ...

  3. HDU_1006_Tick and Tick

    Tick and Tick Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  4. SpringBoot基于websocket的网页聊天

    一.入门简介正常聊天程序需要使用消息组件ActiveMQ或者Kafka等,这里是一个Websocket入门程序. 有人有疑问这个技术有什么作用,为什么要有它?其实我们虽然有http协议,但是它有一个缺 ...

  5. Docker私有仓库的构建

    [root@localhost ~]# vim /etc/sysconfig/docker #INSECURE_REGISTRY='--insecure-registry' INSECURE_REGI ...

  6. python3.x Day1 用户登录程序练习

    训练1: 模拟登陆: 1. 用户输入帐号密码进行登陆 2. 用户信息保存在文件内 3. 用户密码输入错误三次后锁定用户 login2.py: #!/usr/bin/env python # -*- c ...

  7. 使用Postman Interceptor发送带cookie的请求一直loading的解决法案

    很多web网页开发人员都知道Postman限制由于chrome安全的限制,发不出带cookie和带有自定义头部标签的请求.想要发出由于chrome安全的限制,发不出带cookie和带有自定义头部标签的 ...

  8. 有哪些可以节省chrome内存的扩展插件?

    不知道从什么时候开始,chrome浏览器就这样不知不觉的超过IE浏览器成为全球第一大浏览器.我们在赞赏chrome浏览器流畅的速度时,更多的是对其chrome插件功能的赞赏.但是我们也发现了一个致命的 ...

  9. python+pyqt5实现24点小游戏

    本文实例为大家分享了python实现24点游戏的具体代码,供大家参考,具体内容如下 描述:一副牌中A.J.Q.K可以当成是1.11.12.13.任意抽取4张牌,用加.减.乘.除(可加括号)把牌面上的数 ...

  10. radial profiles of mean streamwise velocity at X/D=3

    matlab code: load aver_ux_array.dat; load z_array.dat; r=z_array(:,); r=r.' r_j=0.00125; r_nor=r/d; ...