自动化 部署 代码的 脚本

 

1 安装  git

  yum install git

 

2 安装maven 

 

3 生成  公私钥,并且在仓库配置 ssh 公钥

 

4 编写 自动化 话代码

  

#baseDir 基本目录
#codeUrl 代码地址
#codeDirName 代码拉下来后, 主文件目录名字
#jar 文件的名字
#activeProfile 用哪个 profile 启动jar 文件
#克隆 git 的那个分支


baseDir=/opt/webserver/ecard;
codeUrl=ssh://git@gitlab.cdwit120.com: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;

  

 

posted on 2020-07-29 13:28  zhangyukun  阅读(268)  评论(0编辑  收藏  举报

导航