一:安裝配置Subversion+ToriesSVN
1.下載安裝Subversion作爲版本控制服務器
2.下載安裝toriessvn代碼管理客戶端工具
3.在任意盤創建空白文件夾SVNRepository,點擊右鍵,選擇ToriesSVN,選擇Create repository here
4.進入該文件夾,在passwd文件中添加用戶名、密碼
5.爲了使用Subversion需要先啓動Subversion服務,方法如下,cmd中執行如下命令
sc create SVNService binpath= "D:\Program Files\Subversion\bin\svnserve.exe --service -r D:\SVNRepository" displayname= "SVNService" depend= Tcpip start= auto 如果添加成功,在service中能看到SVNService的服務 再執行 net start Subversion,則啓動服務成功 6.現在就可以通過Subversion和ToriesSVN管理代碼了,代碼是用Intelijje完成,Intelijje中添加Gradle插件作爲部署工具 二:本地安裝tomcat,下載Jenkins的jar包,放到tomcat的webapps下,啓動tomcat,進入http://localhost:8080/jenkins/ 就可訪問Jenkins了 三:安裝虛擬機,虛擬機上面安裝Linux作爲web程序服務器,Linux上安裝Tomcat作爲web容器,Jenkin相關配置如下 進入該頁面 http://localhost:8080/jenkins/configure,配置SSH Remote Host 注意:不要用root作爲用戶名,需要在Linux上新創建一個用戶名,否則無法鏈接成功
四:創建Job,配置Job,編寫deploy腳本配置到Jekins中
1.配置Job的SVN地址
2.配置deploy腳本,實現自動部署
3. deploy腳本思路: 殺tomcat進程——備份老的war包——拷貝新的War包到webapps目錄——重新啓動tomcat
備註:通過ftp實現將本地的war到放入Linux服務器上,腳本如下
#解決console輸入亂碼
export LANG="en_US.UTF-8"
#build後的war包
WARFILE_PATH=Users/Crown/.jenkins/jobs/Test002/workspace/WAP/build/libs/
WARFILE_NAME=MyTest001.war
#虛擬機上的tomcat路徑
REMOTE_PATH=/opt/tomcat7/webapps
#備份年月日
BAK_DT=`date +%Y%m%d%H%M%S`
#FTP_IP
FTP_IP=192.168.199.108
#FTP_PORT
FTP_PORT=21
#FTP_USER
FTP_USER=qiaotl
#FTP_PWD
FTP_PWD=qiaotl
#1.殺當前應用進程
tomcat_pids=`ps -ef|grep tomcat |awk '{print $2}'`
for tomcat_pid in ${tomcat_pids}
do
echo "process id is ${tomcat_pid}"
kill -9 $tomcat_pid
echo "KILL process ${tomcat_pid} successfully!"
done
#2.備份文件
#2.1.進入目錄
cd ${REMOTE_PATH}
#2.2.判斷文件是否存在,若存在則備份
if [ ! -f "${WARFILE_NAME}" ]; then
echo "No file!"
else
mv ${WARFILE_NAME} ${WARFILE_NAME}${BAK_DT}
echo "Backup file successfully!"
fi
echo "Get into FTP to Get new file"
ftp -n<<!
open ${FTP_IP} ${FTP_PORT}
user ${FTP_USER} ${FTP_PWD}
binary
prompt
cd ${WARFILE_PATH}
get ${WARFILE_NAME}
close
bye
!
echo "Get file successfully!"
#4.啓動應用
export JAVA_HOME=/usr/mysoft/jdk1.6.0_45
sh /opt/tomcat7/bin/startup.sh > qtl.txt
echo "Restarted Successfully!"
注意:
1.啓動tomcat時要載入java_home 變量,不然執行startup.sh不成功
2.啓動後,添加一條echo命令,因爲startup.sh命令有輸出內容,Jenkins對於有輸出的會返回exit-status!=0,這樣構建Job會失敗
五:構建job
六:查看linux服務器webapp目錄
七:訪問MyTest001