利用git快速部署远程服务器
2017-06-20 20:34
344 查看
利用git快速部署远程服务器
本地开发完成后,通常会在服务器上部署,有人会使用ftp,有人会使用scp, ftp和scp的时候为了方便我们通过还要tar或者zip一下, 这些做法也很不错,但是它有一些问题全部更新,不管某些文件是否修改,都要重新传一下服务器,浪费时间与流量
多台服务器的重复上传
代码更新后,后续的一些操作不够自动化
上面的问题可以通过ssh直接远程执行命令来解决,但是需要写一些shell脚本, 有没有更简单更高效的方法呢?有,那就是使用版本版本管理工具的hook!
这里我说是版本管理工具而不是git,是因为svn、git、hg都是有相应的hook的, 原理大同小异。下面是Git详细的思路
1.服务器端操作
首先创建一个裸库,为什么是裸库?因为这个库不是真正用来修改的,我们也不允许在服务器上修改代码,我们只是把它当作一个代码中转的地方cd gitroot mkdir projectname cd projectname git init --bare
2.添加我们的hook
cd /hooks touch post-receive
3.编辑post-receive的内容为下面的,其中sites/projectname,是我们存放网站代码地方
env -i git archive master | tar -x -C /sites/projectname echo "远程更新完毕"
4本地git的操作
本地我们只需要添加一个远程库,在需要部署的时候push到远程库就行了,下面我们添加了一个名为publish的远程库git remote add publish username@xx.xx.xx.xx:/home/gitroot/projectname git push publish master
5.可以强化的地方
这里演示的是一个简单的小网站的部署过程,复杂的情况下我们还可以添加静态资源版本更新,服务器重启等等,举一反三, 最大程序自动化我们的工作相关文章推荐
- 使用git下载项目,然后部署到本地和远程服务器上的流程
- 简单利用git部署网站到服务器
- 利用git和pm2实现快速部署多个服务
- 在阿里云服务器上快速搭建JavaWeb环境(安装JDK、Tomcat、MySQL)+Intellij IDEA远程部署调试tomcat
- [Node.js] 2、利用node-git-server快速搭建git服务器
- 快速部署小型GIT服务器
- git一键部署代码到远程服务器
- Eclipse利用Maven的插件部署web项目到远程tomcat服务器
- Eclipse利用Maven的插件部署web项目到远程tomcat服务器
- 详解Node.js利用node-git-server快速搭建git服务器
- 利用jenkins+maven部署java应用到远程服务器
- 189 git hooks 2 利用git push向服务器一键部署代码
- 利用git push向服务器一键部署代码
- Win2003远程安装服务器利用RIS部署wind2003sp1
- 利用远程安装服务器RIS进行操作系统部署
- 利用ASP下载远程文件到服务器
- Win 2003 远程安装服务器部署
- 利用ASP远程下载文件到服务器
- 利用ASP下载远程文件到服务器
- 快速让MySQL数据库服务器支持远程连接