自动化 部署 代码的 脚本

Posted cxygg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动化 部署 代码的 脚本相关的知识,希望对你有一定的参考价值。

 

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;

  

 

以上是关于自动化 部署 代码的 脚本的主要内容,如果未能解决你的问题,请参考以下文章

dotnet项目执行shell脚本实现简单的自动化部署

持续集成与自动化部署 - gitlab部署

自动化部署脚本

我想在代码部署运行时在新的自动扩展组替换的EC2实例上运行脚本

Jenkins job的自动部署脚本

我想在运行代码部署时在被新自动缩放组替换的 EC2 实例上运行脚本