1. 程式人生 > 實用技巧 >自動化 部署 程式碼的 指令碼

自動化 部署 程式碼的 指令碼

1 安裝 git

yum install git

2 安裝maven

3 生成 公私鑰,並且在倉庫配置 ssh 公鑰

4 編寫 自動化 話程式碼

  

#baseDir 基本目錄
#codeUrl 程式碼地址
#codeDirName 程式碼拉下來後, 主檔案目錄名字
#jar 檔案的名字
#activeProfile 用哪個 profile 啟動jar 檔案
#克隆 git 的那個分支


baseDir=/opt/webserver/ecard;
codeUrl=ssh://[email protected]:2222/ecard-app/backend.git;
codeDirName=backend;
jarName=ecard-app-backend-1.0.0-test.jar
activeProfile=test
gitBranch=master




codeDir=$baseDir/code;


#檢查主目錄
if [ -d $baseDir ];then
	echo  "存在程式碼目錄"
else 
	mkdir $baseDir;
fi

#檢查程式碼目錄
if [ ! -d $codeDir ];then
	mkdir $codeDir;
	cd $codeDir;
	git clone -b $gitBranch $codeUrl;
fi	


#拉取程式碼編譯生成jar
cd $codeDir/$codeDirName;
git pull;
mvn clean package;
rm -f $baseDir/$jarName;
cp $codeDir/$codeDirName/target/$jarName $baseDir;



#啟動
cd $baseDir;
bpid=$(ps -ef|grep $jarName|grep -v grep |awk '{print $2}');



if [ ! -n $bpid ];then
	nohup java -jar $jarName --spring.profiles.active=$activeProfile  &
else
	kill $bpid;
        nohup java -jar $jarName --spring.profiles.active=$activeProfile  &
fi




echo $baseDir
echo $codeDir
echo $codeUrl
echo $codeDirName
echo $bpid;