web的自己主動化公布

來源:互聯網
上載者:User

標籤:nbsp   版本號碼   構建   plink   username   script   roo   x86   data-   

</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 sysimport osimport ConfigParserhomedir = os.getcwd()print homedirconfig = 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 = homedirlog_name = config.get("SVN", "log_name").decode(‘utf8‘).encode(‘cp936‘) script_dir = homedirpkg_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_namescript_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_passwordos.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=111111user_password=000000#check_out_dir=D:\11111\1111-parentlog_name=E:\log.log#out_put_dir=D:\1111\111-parent#war_name=D:\11111111-parent\11111111111111-web\target\111111111-web.warrmote_ip=192.168.15.234rmote_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/3213123TOMCAT_HOME=${USER_HOME}/tomcat#?婁??碌??

驢?錄APP_HOME=${TOMCAT_HOME}/webapps/12313123-webCONF_FILE=${APP_HOME}/WEB-INF/classes/config.propertiesIP_ADD=127.0.0.1MYSQL_USER_NAME=rootMYSQL_USER_PASSWD=213131UPLOAD_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 1fi####碌?

露鎂虜陸?攏?鹿路鎂?帽${TOMCAT_HOME}/bin/shutdown.sh####?樓魯媒?祿虜驢路?碌?????if [ ! -d ${APP_HOME} ];then    echo -e "\033[31m ERROR:Dir ${APP_HOME} is not  exist. \033[0m"    exit 1else   rm -rf ${APP_HOME}/*fimv ${USER_HOME}/1312313-web.war ${APP_HOME}/cd ${TOMCAT_HOME}/webapps/m312321g-webjar -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的自己主動化公布

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.