服务器定时自动拉取Git仓库代码并打包
说在前面
我们平时在开发的时候都是在本地环境进行开发,开发测试完成后往往还需要在本地打包后再上传文件到服务器,这样的操作十分繁琐,并且有的时候可能不能及时,因此不能保证实时更新服务器的代码。所以才有了编写这个定时自动更新代码并打包项目脚本的想法。
思路
1、先在服务器创建一个文件夹,来放置Git仓库的代码,配置好git环境
2、 编写自动更新脚本
3、设置定时任务
脚本代码
#! /bin/bash -ilex ## author:jyeontu echo "--------------------------------" echo "----------开始执行脚本----------" date pwd; echo "切换到git目录" ##切换到放置git代码的目录绝对路径 cd /www/wwwroot/ip/myGiteeCode/myProject; pwd; echo "准备拉取最新代码" git pull; echo "准备构建项目" npm run build; echo "删除旧文件" ##切换到需要更新的项目目录 cd /www/wwwroot/ip/myProject pwd ##删除旧文件 rm -rf * ls; echo "移动新文件" ##将最新代码打包的文件复制到项目目录 cp -r /www/wwwroot/ip/myGiteeCode/myProject/dist/{index.html,js,css,favicon.ico,fonts,img} ./; echo "更新成功" ls; date echo "----------结束执行脚本----------" 复制代码
设置定时任务
使用宝塔面板的同学可以直接在面板中设置。 使用终端的可以继续往下看
#切换到spool目录,定时任务配置文件在该目录下 vi /var/spool/cron/root 复制代码
#在该文件中添加 #每5分钟自动执行一次 */5 * * * * 脚本地址.sh 复制代码
第一个表示每xx(1-59)分钟,每分钟用或*/1表示
第二个*表示每xx(0-23)小时
第三个*表示日期,1-31
第四个*表示月份,1-12
第五个*表示星期x(0-6, 0为星期日)
说在后面
设置完成后,以后你更新代码只需要将本地代码推送到git仓库,服务便会自动拉取最新的代码并打包,达到实时更新代码的效果。
作者:JYeontu
链接:https://juejin.cn/post/7031809746323816479