歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

linux 發布腳本

在項目實施中當我們要發布一個項目時候一般需要經過如下幾步

1 更新svn代碼

2 maven打包

3 停止tomcat

4 copy war包到tomcat下

5 啟動tomcat

為了簡化流程我們可以編寫shell腳本一鍵完成。

本博客將一步一步講解如何完成這樣的腳本。

基本軟件:svn maven tomcat jdk

jdk tomcat 安裝這裡就不介紹了。

第一步安裝svn客戶端

1下載svn客戶端 subversion-deps-1.6.12.tar.bz2 subversion-1.6.12.tar.bz2 點擊下載

2解壓軟件:# tar jxvf subversion-deps-1.6.12.tar.bz2

# tar jxvf subversion-1.6.12.tar.bz2

3 准備安裝

創建一個svn的配置目錄

# mkdir /usr/svn-client/subversion

目錄結構如下:

\

 

切換到subversion-1.6.12下 # cd subversion-1.6.12

4 安裝

# ./configure --prefix=/opt/svn-client/subversion

# make && make install

5 測試

\

看的上面信息說明安裝成功

6 更新代碼

下載代碼指令:svn checkout path 簡寫為svn co path

例如:# svn checkout svn://localhost/pro/project

第一次更新會提示你輸入root 密碼 這時可以隨便輸入一個密碼,然後會再次提示你輸入用戶名然後輸入你的svn用戶名 然後會提示你輸入密碼輸入你的密碼就可以了

更新代碼指令:svn update

首先要進入的要更新代碼的目錄然後執行 svn update或者直接使用指令svn update -r m path

\

7 其他指令可以自己百度去學習這裡只用到這兩個指令

第二步驟安裝maven

1 下載maven 點擊下載

2 解壓tar zxvf apache-maven-3.0.5-bin.tar.gz解壓後:

\

3 配置maven安裝目錄

在/etc/profile文件後加入下面內容

export MAVEN_HOME=/opt/maven/apache-maven-3.0.5

export PATH=${MAVEN_HOME}/bin:${PATH}

4 讓配置生效

#source /etc/profile

5 驗證

# mvn -v

\

6 mvn 打包

切換到svn下載的項目路徑使用命令:mvn install -Dmaven.test.skip=true

\

出現下面信息表示打包成功,例子中打出的是jar war也是一樣的

Ps:在打包過程中你可能會遇到這樣的錯誤

\

原因是缺少maven插件所需要的jar包 解決辦法 你可以直接在項目中加入插件的jar包依賴,版本根據你的maven版本做相應修改,報錯的地方會提示你。


	org.apache.maven.plugins
	maven-surefire-plugin
	2.10


	org.apache.maven.plugins
	maven-resources-plugin
	2.5


	org.apache.maven.plugins
	maven-jar-plugin
	2.3.2

第三步編寫腳本

腳本步驟和我們手工流程是一致的

1 更新svn代碼

2 maven打包

3 停止tomcat

4 copy war包到tomcat下

5 啟動tomcat

1 新建腳本文件:vi test 文件內容如下:

#!/bin/sh
#項目的svn地址
svn_path="svn:localhost/project"
#tomcat路徑你tomcat的安裝路徑
tomcat_path="/opt/tomcat7/"
#本地代碼位置代碼路徑
code_path="/opt/code/"
#項目名稱
projectName="dms_restaurant"
env="dev"
 
#svn賬號你的svn賬號
svn_user="xxxxxxxxxxxxx"
#svn密碼你的svn密碼
svn_pass="***************"
 
#如果項目文件夾不存在說明沒有下載過改項目代碼,需要檢出該項目
if [ ! -d ${code_path}${projectName} ];
  then
echo ${projectName}"不存在,檢出該項目"
cd $code_path
svn checkout $svn_path --username $svn_user --password $svn_pass --no-auth-cache  
  else
echo ${projectName}"存在,更新代碼"
cd ${code_path}${projectName}
svn update --username $svn_user --password $svn_pass --no-auth-cache
fi
 
#項目依賴的基礎項目dms_util jar更新 如果有依賴項目的話
if [ ! -d ${code_path}dms_util ];
  then
echo "dms_util不存在,檢出該項目"
cd $code_path
svn checkout "https://svn.sinaapp.com/dms2015/1/dms_util" --username $svn_user --password $svn_pass --no-auth-cache  
  else
echo "dms_util存在,更新代碼"
cd ${code_path}"dms_util"
svn update --username $svn_user --password $svn_pass --no-auth-cache
fi
#mav 打包首先打基礎jia包 util 如果有依賴項目的話
echo "maven 生成jar 基礎依賴包 dms_util.jar"
cd ${code_path}"dms_util"
mvn install -Dmaven.test.skip=true -Denv=$env -U
#如果打包出錯直接退出
if [ $? -ne 0 ]; then
      exit 1
fi
 
#mav 再打項目包
echo "maven 生成項目war包${projectName}"
cd ${code_path}${projectName}
mvn install -Dmaven.test.skip=true -Denv=$env -U
#如果打包出錯直接退出
if [ $? -ne 0 ]; then
      exit 1
fi
 
#關閉tomcat
cd "${tomcat_path}bin"
./shutdown.sh
#刪除項目
rm -r "${tomcat_path}webapps/${projectName}"
rm "${tomcat_path}webapps/${projectName}.war"
 
#復制打包好的項目帶tomcat下面
cp "${code_path}${projectName}/target/${projectName}.war" "${tomcat_path}webapps/"
#啟動tomcat
cd "${tomcat_path}bin"
./startup.sh

2編譯代碼 chmod -x test

\

執行腳本 ./test

Copyright © Linux教程網 All Rights Reserved