保定市住房和城乡建设厅网站,容桂品牌网站建设,五 网站开发总体进度安排,一个ip可以做几个网站目录
一.引言
二.踩坑与实践
1.原始代码
2.mvn package 未执行与解决 [导入环境变量]
3.git pull 未执行与解决 [添加绝对路径]
三.总结 一.引言
git 任务部署在通道机#xff0c;每天6点需要定时更新 jar 包并打包上线#xff0c;所以需要在 linux 服务器上#xff…目录
一.引言
二.踩坑与实践
1.原始代码
2.mvn package 未执行与解决 [导入环境变量]
3.git pull 未执行与解决 [添加绝对路径]
三.总结 一.引言
git 任务部署在通道机每天6点需要定时更新 jar 包并打包上线所以需要在 linux 服务器上
A.部署 maven: 上一篇文章已经铺了完整过程Linux 服务器 Maven 环境安装与测试
B.部署 git: 机器上已经有 git所以省略了这一步大家没有 git 可以搜索一下安装过程
C.crontab 定时 git pull mvn package本文主要进行第三步实践。 二.踩坑与实践
1.原始代码
# 进入目标环境
echo date
echo cd 目录
cd $targetPath# 更新代码
echo git 更新
git pull# 重新打包
echo package...
sh $targetPath/package.sh
将代码添加至 corontab 并将输出流指向 log发现到点后只有 echo 的日志没有 pull 和 package 的日志
Fri Mar 10 14:13:01 CST 2023
cd 目录
git 更新
package...2.mvn package 未执行与解决 [导入环境变量]
package.sh 内部逻辑很简单即 mvn clean package 但是没有执行通过网上查询发现是因为自己没有添加环境变量导致在脚本前端增加 source 语句引入环境变量
source /etc/profile
source /etc/bashrc
添加后发现重定向的 log 中 mvn package 信息已经正常输出但是依旧不见 git 日志
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 02:57 min (Wall Clock)
[INFO] Finished at: 2023-03-10T14:16:0008:00
[INFO] ------------------------------------------------------------------------ 3.git pull 未执行与解决 [添加绝对路径]
上面明明已经添加了环境变量为什么 git 不生效呢我们查看了一下 $PATH
/usr/local/bin
再使用 whereis git 查看下 git 的位置
git: /usr/bin/git /usr/share/man/man1/git.1.gz
git 在 /usr/bin 下PATH 是 /usr/local/bin 所以 git 没找到这里直接在脚本中指定为绝对路径
source /etc/profile
source /etc/bashrc# 进入目标环境
echo date
echo cd 目录
cd $targetPath# 更新代码
echo git 更新
/usr/bin/git pull# 重新打包
echo package...
sh package.sh
再次添加至 crontab这次终于有 git 的日志了
Fri Mar 10 14:20:01 CST 2023
cd 目录
git 更新
Already up-to-date.
package... 三.总结
好久不写 shell 脚本这么简单的逻辑搞了小半天实在不应该深刻反思
- shell 脚本一定要添加环境变量
- 添加环境变量找不到就用 whereis xxx 查找对应的绝对路径下面是常用到的
whereis java
whereis python
whereis maven