• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    使用git代替FTP部署代码到服务器的例子

    本地开发完成后,通常会在服务器上部署,有人会使用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

    添加我们的hook

    复制代码 代码如下:

    cd /hooks
    touch post-receive

    编辑post-receive的内容为下面的,其中sites/projectname,是我们存放网站代码地方
    复制代码 代码如下:

    env -i git archive master | tar -x -C /sites/projectname
    echo "远程更新完毕"

    本地git的操作

    本地我们只需要添加一个远程库,在需要部署的时候push到远程库就行了,下面我们添加了一个名为publish的远程库

    复制代码 代码如下:

    git remote add publish username@xx.xx.xx.xx:/home/gitroot/projectname
    git push publish master

    可以强化的地方

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

    您可能感兴趣的文章:
    • 详解在Linux下搭建Git服务器
    • 详解在CentOS下搭建自己的Git服务器
    • 在Linux下搭建Git服务器步骤
    • 阿里云Linux-CentOS系统下-搭建Git服务器详解
    • 在Linux下搭建Git服务器的方法详解
    • Git 教程之服务器搭建详解
    • 在DigitalOcean的服务器上部署flaskblog应用
    • 一键备份gitolite服务器的Shell脚本
    • Git 删除远程服务器文件同时保留本地文件实例详解
    上一篇:各种编程语言中$符号的意义
    下一篇:如何禁止浏览器使用后退按钮功能
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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