• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >编程技巧 > 使用git代替FTP部署代码到服务器的例子

使用git代替FTP部署代码到服务器的例子

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-12

通过本文主要向大家介绍了使用git代替FTP部署代码到服务器的例子等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本地开发完成后,通常会在服务器上部署,有人会使用ftp,有人会使用scp, ftp和scp的时候为了方便我们通过还要tar或者zip一下, 这些做法也很不错,但是它有一些问题

1.全部更新,不管某些文件是否修改,都要重新传一下服务器,浪费时间与流量
2.多台服务器的重复上传
3.代码更新后,后续的一些操作不够自动化

上面的问题可以通过ssh直接远程执行命令来解决,但是需要写一些shell脚本, 有没有更简单更高效的方法呢?有,那就是使用版本版本管理工具的hook!

这里我说是版本管理工具而不是git,是因为svn、git、hg都是有相应的hook的, 原理大同小异。下面是Git详细的思路。

服务器端操作

首先创建一个裸库,为什么是裸库?因为这个库不是真正用来修改的,我们也不允许在服务器上修改代码,我们只是把它当作一个代码中转的地方:
cd gitroot
mkdir projectname
cd projectname
git init --bare
</div>

添加我们的hook
cd /hooks
touch post-receive
</div>
编辑post-receive的内容为下面的,其中sites/projectname,是我们存放网站代码地方
env -i git archive master | tar -x -C /sites/projectname
echo "远程更新完毕"
</div>

本地git的操作

本地我们只需要添加一个远程库,在需要部署的时候push到远程库就行了,下面我们添加了一个名为publish的远程库
git remote add publish username@xx.xx.xx.xx:/home/gitroot/projectname
git push publish master
</div>

可以强化的地方

这里演示的是一个简单的小网站的部署过程,复杂的情况下我们还可以添加静态资源版本更新,服务器重启等等,举一反三, 最大程序自动化我们的工作。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2017-05-12程序员的八种境界,你在哪一境?
  • 2017-05-12微信小程序设置http请求的步骤详解
  • 2017-05-12Git 教程简单入门介绍
  • 2017-05-12hello world程序集锦
  • 2017-08-30Python 多线程 Selenium 跨浏览器测试
  • 2017-05-12可能是最通俗的一篇介绍markdown的文章
  • 2017-05-12Get方法和Post方法的区别深入理解
  • 2017-05-12htaccess语法教程
  • 2017-05-12五个最佳编程文本编辑器分享
  • 2017-05-12web服务器程序运行出现乱码问题的解决方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 多种编程语言的常用按键和语法
    • 编程人员阅读代码的一些小技巧分享
    • 计算机科学中32个常用的基础算法
    • 关于Git远程与本地冲突的解决方法
    • 即时通讯软件在网页上启动临时对话的链接代码
    • 十分钟内学会 避免用户刷新导致重复POST提交
    • 伪静态技术介绍与优缺点分析(较完整篇)
    • vs快捷键 用好Ctrl+Enter与Ctrl+Shift+Enter组合键让你的编辑代码速度快了很多
    • 浏览器缓存知识小结及应用分析
    • 解释执行和编译执行的区别?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有