#!/usr/bin/evn python
#encoding =utf-8
#author:[email protected]
Import Sys
Import OS
Import Shutil
Import commands
Import time
Import subprocess
#获得svn分支地址, according to the directory to determine whether checkout or update
svn_address = sys.argv[1]
Branch_dirname = Svn_address.split ('/') [-1]
Exist_dirname = '/soft/tagsoft/%s '% (branch_dirname)
Svn_checkout = ' svn checkout%s/soft/tagsoft/%s--username xxxxxxx '% (Svn_address,branch_dirname)
svn_update = ' svn update%s '% (exist_dirname)
If Os.path.exists (exist_dirname):
Os.system (Svn_update)
Else
Os.system (Svn_checkout)
#获得要打包的工程, separate them with commas. Cms,dms,pro rewrite Pom.xml files based on project name
PARAMETER_ARGV = sys.argv[2]
Parameter_argv_name = Parameter_argv.split (', ')
parameter_argv_option = ' '
For parameter_argv_list in Parameter_argv_name:
Parameter_argv_option + = ' <module> /xxxx-%s</module> \ n '% (parameter_argv_list)
Shutil.copyfile (R '/soft/tagsoft/cms-pom.xml ', '/soft/tagsoft/parameter_pom.xml ')
#查找特定行进行内容替换
With open ('/soft/tagsoft/parameter_pom.xml ', ' R ') as FD:
lines = Fd.readlines ()
With open ('/soft/tagsoft/parameter_pom.xml ', ' W ') as F_w:
For line in lines:
If ' qwerty ' in line:
line = Line.replace (' qwerty ', parameter_argv_option)
F_w.write (line)
CMD_MV = ' mv/soft/tagsoft/parameter_pom.xml%s/jzjz-parent/pom.xml '% (exist_dirname)
Os.system (CMD_MV)
CMD_CD = '%s '% (exist_dirname)
Os.chdir (CMD_CD)
Os.system (' mvn clean package-dtestskip-p test ')
#获得tomcat路径准备打包的tomcat工程
Tomcat_home_dirname = sys.argv[3]
Kill_pid = "Ps-ef | grep%s | Grep-v grep| Grep-v Python | awk ' {print $} ' | Xargs kill-9 "% (tomcat_home_dirname)
Subprocess. Popen (kill_pid,stdout=subprocess. Pipe,shell=true)
#删除指定目录内容, first delete and then create a new folder
Rm_war = '%s/webapps/'% (tomcat_home_dirname)
Shutil.rmtree (Rm_war)
Os.mkdir (Rm_war)
For parameter_argv_list in Parameter_argv_name:
parameter_argv_list_copy1 = '%s/jzjz-%s/target/%s.war '% (exist_dirname,parameter_argv_list,parameter_argv_list)
Parameter_argv_list_copy2 = '%s/webapps/'% (tomcat_home_dirname)
Shutil.copy (PARAMETER_ARGV_LIST_COPY1,PARAMETER_ARGV_LIST_COPY2)
print ' Copy%s to%s '% (parameter_argv_list,tomcat_home_dirname)
Start_tomcat_cmd = ' nohup%s/bin/startup.sh & '% (tomcat_home_dirname)
Subprocess. Popen (start_tomcat_cmd,stdout=subprocess. Pipe,shell=true)
This article is from the "Learning Exchange" blog, please be sure to keep this source http://725689.blog.51cto.com/715689/1931193
Deploy and start V0.1 using the Python scripting code local test environment