1. 程式人生 > >使用python腳本代碼本地測試環境部署和啟動 V0.1

使用python腳本代碼本地測試環境部署和啟動 V0.1

svn python

#!/usr/bin/evn python

#encoding=utf-8

#author:[email protected]


import sys

import os

import shutil

import commands

import time

import subprocess


#獲得svn分支地址,根據目錄判斷是checkout還是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)


#獲得要打包的工程,使用逗號分隔。cms,dms,pro 根據工程名重寫pom.xml文件

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 $2}‘ | xargs kill -9" % (tomcat_home_dirname)

subprocess.Popen(kill_pid,stdout=subprocess.PIPE,shell=True)

#刪除指定目錄內容,先刪除然後新建文件夾

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 ‘拷貝%s到%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)


本文出自 “學習交流” 博客,請務必保留此出處http://725689.blog.51cto.com/715689/1931193

使用python腳本代碼本地測試環境部署和啟動 V0.1