配合 maven 的方式

构建项目 zip

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

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

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

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

git clone

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

安装 git

  [plaintext]
1
yum -y install git

查看版本

  [plaintext]
1
2
# git --version git version 1.8.3.1

下载文件

  [plaintext]
1
git clone https://github.com/houbb/echo-blog.git

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

因此可以统一使用脚本:

  • deploy.sh
  [sh]
1
2
3
4
5
6
7
8
9
10
11
12
13
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 的命令输入密码,不建议。)

设置全局的用户名+秘钥

  [plaintext]
1
2
git config --global user.name "houbb" git config --global user.email "1060732496@qq.com"

生成秘钥:

  [plaintext]
1
ssh-keygen -t rsa -C "1060732496@qq.com"

全部使用默认信息。

生成的公钥位置:

  [plaintext]
1
2
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 命令还是提示输入用户名密码。

后来找到命令:

  [plaintext]
1
git config --global credential.helper store

centos7 部署脚本

  • deploy.sh
  [sh]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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 ------------------ "
  • 设置执行权限
  [plaintext]
1
chmod +x deploy.sh
  • 运行
  [plaintext]
1
./deploy

参考资料

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

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

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