服务器定时自动拉取Git仓库代码自动部署

简介: 服务器定时自动拉取Git仓库代码自动部署

说在前面

我们平时在开发的时候都是在本地环境进行开发,开发测试完成后往往还需要在本地打包后再上传文件到服务器,这样的操作十分繁琐,并且有的时候可能不能及时,因此不能保证实时更新服务器的代码。所以才有了编写这个定时自动更新代码并打包项目脚本的想法。

思路

  • 1、先在服务器创建一个文件夹,来放置Git仓库的代码,配置好git环境
  • 2、 编写自动更新脚本
  • 3、设置定时任务

脚本代码

#! /bin/bash -ilex
## author:jyeontu
echo "--------------------------------"
echo "----------开始执行脚本----------"
date
pwd;
echo "切换到git目录"
##切换到放置git代码的目录绝对路径
cd /www/wwwroot/ip/myGiteeCode/myProject;
path=`pwd`
echo $path
if [ "$path" == "/www/wwwroot/ip/myGiteeCode/myProject" ]
then
        echo "目录切换成功,准备拉取最新代码"
else
        echo "目录切换失败,退出程序"
        exit 0;
fi
git pull;
echo "准备构建项目"
npm run build;
##切换到需要更新的项目目录
cd /www/wwwroot/ip/myProject
pwd
path=`pwd`
if [ "$path" == "/www/wwwroot/ip/myProject" ]
then
        echo "目录切换成功,删除旧文件"
        rm -rf *
        ls;
else
        echo "目录切换失败,退出程序"
        exit 0;
fi
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仓库,服务便会自动拉取最新的代码并打包,达到实时更新代码的效果。

目录
相关文章
|
19天前
|
开发工具 git
git篇3:idea中创建项目并提交到远程Git仓库
git篇3:idea中创建项目并提交到远程Git仓库
|
1月前
|
开发工具 git C++
【git 实用指南】git下载、拉取 代码
【git 实用指南】git下载、拉取 代码
189 2
|
1月前
|
Ubuntu 网络协议 Java
【Android平板编程】远程Ubuntu服务器code-server编程写代码
【Android平板编程】远程Ubuntu服务器code-server编程写代码
|
2月前
|
存储 前端开发 开发工具
Git Hooks实战:提交前检查修改文件中是否包含调试代码
Git Hooks实战:提交前检查修改文件中是否包含调试代码
49 0
|
2月前
|
弹性计算 数据安全/隐私保护
【阿里云服务器镜像】雾锁王国(Enshrouded)自动部署教程
本文将为您提供极简部署雾锁王国服务器的指引,「仅需轻点三次鼠标,即可完成开服」,和自己的朋友一起畅玩雾锁王国。雾锁王国(Enshrouded)作为一款热门多人在线游戏,为了给玩家提供稳定、流畅的联机体验,阿里云提供了高效便捷的快速部署解决方案,本文将为大家分享阿里云一键部署雾锁王国联机服务器详细教程。
 【阿里云服务器镜像】雾锁王国(Enshrouded)自动部署教程
|
1月前
|
开发工具 git
【git 实用指南】git 上传代码
【git 实用指南】git 上传代码
35 2
|
1月前
|
开发工具 git
Git -- 代码上传错误 error: failed to push some refs to ‘git@gitee.com:JMFive/uni-shop2.git‘
Git -- 代码上传错误 error: failed to push some refs to ‘git@gitee.com:JMFive/uni-shop2.git‘
|
4天前
|
Linux 网络安全 开发工具
【超详细!超多图!】【代码管理】Python微信公众号开发(3)- 服务器代码上传Github
【超详细!超多图!】【代码管理】Python微信公众号开发(3)- 服务器代码上传Github
11 0
|
9天前
|
开发工具 git
git 拉取代码仓库代码报错(合并错误 refusing to merge unrelated histories)
git 拉取代码仓库代码报错(合并错误 refusing to merge unrelated histories)
18 0
|
12天前
|
数据可视化 开发工具 git
Git代码版本管理入门
Git代码版本管理入门