配合 maven 的方式

构建项目 zip

上传到服务器,这样文件体积比较小。注意别把 .git 文件打包进去了。

SCP echo-blog.zip root@45.63.123.69:/root/code/blog
yum install -y zip unzip
unzip *.zip

感觉这样比较麻烦,而且还要考虑排除 .git .idea 等本地文件。

于是,自然想到了使用 git,这样比较方便。

git clone

如果可以使用 git clone 命令,可能会更好。

安装 git

yum -y install git

查看版本

# git --version
git version 1.8.3.1

下载文件

git clone https://github.com/houbb/echo-blog.git

输入对应的用户名密码,记住后续密码统一使用 token,(2021-08-22) 否则无法使用。

因此可以统一使用脚本:

  • deploy.sh
cd echo-blog
git pull

mvn clean install

rm -rf /root/tool/tomcat/apache-tomcat-8.5.70/webapps/ROOT.war
mv /root/code/blog/echo-blog/echo-blog-web/target/ROOT.war /root/tool/tomcat/apache-tomcat-8.5.70/webapps/ROOT.war

sh /root/tool/tomcat/apache-tomcat-8.5.70/bin/shutdown.sh

rm -rf /root/tool/tomcat/apache-tomcat-8.5.70/webapps/ROOT

sh /root/tool/tomcat/apache-tomcat-8.5.70/bin/startup.sh

当然,git 如果要输入密码比较麻烦,建议使用下面的方式避免。(也可以采用类似 mysql 的命令输入密码,不建议。)

设置全局的用户名+秘钥

git config --global user.name "houbb"
git config --global user.email "1060732496@qq.com"

生成秘钥:

ssh-keygen -t rsa -C "1060732496@qq.com"

全部使用默认信息。

生成的公钥位置:

Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.

我们把公钥设置到 github 的 https://github.com/settings/keys 中.

新增 SSH KEYS, Title 随便定义。

key 就是对应的 id_rsa.pub 内容。

避免多次输入

进行上上面 SSH kEYS 的操作之后,发现 git 命令还是提示输入用户名密码。

后来找到命令:

git config --global credential.helper store

centos7 部署脚本

  • deploy.sh
cd ums-server
git pull

mvn clean install

rm -rf /usr/share/tomcat/webapps/ums-server.war
rm -rf /usr/share/tomcat/webapps/ums-server

echo "remove old war done."

mv /root/code/ums-server/ums-server-web/target/ums-server.war /usr/share/tomcat/webapps/ums-server.war

echo "add new war done."

echo "----------------- restart begin ------------------ "

sudo systemctl restart tomcat

echo "----------------- restart end ------------------ "
  • 设置执行权限
chmod +x deploy.sh
  • 运行
./deploy

参考资料

https://www.jianshu.com/p/6b238e29537a

https://blog.csdn.net/hejiaying68/article/details/100071270

https://blog.csdn.net/yuzeiger/article/details/82781664?