项目部署方案一
代码托管到码云,服务器安装git,使用脚本从码云拉取最新的代码,进行编译部署。
服务器环境构建
云服务器安装搭建环境git:采用编译安装
安装步骤如下:
1.Centos默认安装了git1.8版本,如果需要安装高版本先卸载掉自带的git:yum remove git
2.下载get源码包:wget https://github.com/git/git/archive/v2.17.0.tar.gz版本可以自行指定
3.解压:tar -zxvf v2.17.0.tar.gz
4.安装编译需要的依赖:yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
5.在/usr/local下新建文件夹:git。进入解压包执行编译:make prefix=/usr/local/git all
6.编译完成后执行安装,安装到编译的时候指定的目录:make prefix=/usr/local/git install
7.配置环境变量:vim /etc/profile。底部加上git的环境变量信息:PATH=$PATH:/usr/local/git/bin
8.刷新配置:source /etc/profile
9.使用git --version查看git是否安装成功,安装成功会显示安装的版本号
配置git连接码云
核心就是本地git生成秘钥对,将公钥配置到码云上去。本地的服务服务器新建对应的文件夹,从码云的克隆代码,然后本地的idea写好代码提交到码云上去,利用脚本从码云上更新代码,编译部署。部署脚本如下:
#!/bin/sh
cd /usr/local/service/code/spring-boot
echo ">>>>>>>>>>>>>>>>>>>>>>>>代码更新开始\n"
git pull
echo ">>>>>>>>>>>>>>>>>>>>>>>>代码更新结束\n"
cd /usr/local/service/code/spring-boot
echo ">>>>>>>>>>>>>>>>>>>>>>>>maven 编译项目开始\n"
mvn clean package -Dmaven.test.skip=true
echo ">>>>>>>>>>>>>>>>>>>>>>>>maven 编译项目结束\n"
echo ">>>>>>>>>>>>>>>>>>>>>>>>copy jar包开始\n"
rm -rf /usr/local/service/code/spring-boot.jar
cp /usr/local/service/code/spring-boot/target/spring-boot.jar /usr/local/service/code/spring-boot.jar
cd /usr/local/service/code
echo ">>>>>>>>>>>>>>>>>>>>>>>>copy jar包结束\n"
#开始部署
APP1_NAME=spring-boot
tpid1=`ps -ef|grep $APP1_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [[ $tpid1 ]]; then
kill -9 $tpid1
fi
#export JAVA_OPTS="$JAVA_OPTS -Xms32m -Xmx32m -XX:PermSize=32m -XX:MaxPermSize=32m -XX:MaxNewSize=32m"
#export JAVA_OPTS="$JAVA_OPTS -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2 -Djdk.tls.client.protocols=TLSv1"
#export JAVA_OPTS="$JAVA_OPTS -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -#Djava.awt.headless=true"
#nohup java $JAVA_OPTS -jar $APP1_NAME.jar --spring.profiles.active=pro >/dev/null 2>/usr/log/log_error.log #2>&1 &
#tail -f -n 100 /usr/log/log_info.log
nohup java -jar $APP1_NAME.jar --spring.profiles.active=pro >/dev/null 2>/usr/log/log_error.log 2>&1 &
tail -f /usr/log/log_info.log
浙公网安备 33010602011771号