本地开发完成后,通常会在服务器上部署,有人会使用ftp,有人会使用scp, ftp和scp的时候为了方便我们通过还要tar或者zip一下, 这些做法也很不错,但是它有一些问题
1.全部更新,不管某些文件是否修改,都要重新传一下服务器,浪费时间与流量
2.多台服务器的重复上传
3.代码更新后,后续的一些操作不够自动化
上面的问题可以通过ssh直接远程执行命令来解决,但是需要写一些shell脚本, 有没有更简单更高效的方法呢?有,那就是使用版本版本管理工具的hook!
这里我说是版本管理工具而不是git,是因为svn、git、hg都是有相应的hook的, 原理大同小异。下面是Git详细的思路。
服务器端操作
首先创建一个裸库,为什么是裸库?因为这个库不是真正用来修改的,我们也不允许在服务器上修改代码,我们只是把它当作一个代码中转的地方:
添加我们的hook
本地git的操作
本地我们只需要添加一个远程库,在需要部署的时候push到远程库就行了,下面我们添加了一个名为publish的远程库
可以强化的地方
这里演示的是一个简单的小网站的部署过程,复杂的情况下我们还可以添加静态资源版本更新,服务器重启等等,举一反三, 最大程序自动化我们的工作。
希望实现标题在左对齐,日期在右对齐,当直接给日期的span加上float:right时,IE...
操作实现函数: 复制代码 代码如下: Function AddWater(n) Set Photo = Server.C...
近日,Microsoft 工程师为 Linux 5.12 贡献了完整性子系统更新 ,并已合并到主线...
python正则表达式模块简介 Python 自1.5版本起增加了re 模块,它提供 Perl 风格...
前言:博主最近在学习git命令,因为git是一个非常好用的分布式版本管理工具,功...
点赞功能是目前app开发基本的功能 今天我们就来聊聊 点赞、评论、收藏等这些场景...
计算机对?进制数据的处理机制 修改植物大战僵尸存储数据 二进制是什么为什么采用...
本篇文章主要会跟大家分享如何连接kafka,MySQL,作为输入流和数出的操作,以及Ta...
人们常说在商业领域你应该往大的方向想。然而,当你面临职业选择的时候,你是否...
本文实例讲述了php+js实现的拖动滑块验证码验证表单操作。分享给大家供大家参考...