V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
lvfujun
V2EX  ›  问与答

本地调试完成代码如何 git 更新到服务器?现在用的 FileZila 上传代码.

  •  
  •   lvfujun · 2015-03-05 09:53:09 +08:00 · 3570 次点击
    这是一个创建于 3551 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请问各位大牛你们所在的公司完成一个功能以后如何部署到服务器?
    有什么好的方法吗?
    我们现在直接FileZila 更新代码经常出错!
    大牛们都是怎么部署的有什么好的解决办法吗?
    求围观回答!

    9 条回复    2015-03-05 15:25:45 +08:00
    Jeremial
        1
    Jeremial  
       2015-03-05 10:04:20 +08:00   ❤️ 1
    简单的直接在服务器上也装一个git, 在服务器上直接 git pull. 如果是网页类的, 这个需要在开发的时候就做好合并压缩等工作了, 并且使用git跟踪这些已经压缩的代码, 不太好.

    或者在本地先打包一个zip, 由有服务器登录权限的同学使用scp上传到服务器上, 然后解压覆盖
    ksc010
        2
    ksc010  
       2015-03-05 10:06:45 +08:00   ❤️ 1
    NemoAlex
        3
    NemoAlex  
       2015-03-05 10:19:49 +08:00
    一般是用 ssh 连到服务器上 pull 代码
    有一些自动化工具可以帮助完成
    http://www.fabfile.org/
    LT
        4
    LT  
       2015-03-05 11:37:54 +08:00   ❤️ 1
    直接git pull到服务器 + git hooks自动化部署...
    66450146
        5
    66450146  
       2015-03-05 11:41:00 +08:00   ❤️ 1
    本地 git push 推到服务器,服务器端用脚本或者 CI 工具下载并 gracefully restart 服务器端程序

    没想到有这么多人工更新的……这种关键的任务明显脚本比人脑可靠多了
    caixiexin
        6
    caixiexin  
       2015-03-05 12:35:18 +08:00   ❤️ 1
    你的代码需要编译吗?还是像php,python那样解释型的?
    1.在服务器上安装git,并在服务器上传一份你的项目代码作为远程仓库
    2.要从本地更新到服务器上时,git push 上去,建议专门开一个release分支用来服务器上自动部署。
    3.如果是需要编译的,事先写好编译脚本(就像java的ant脚本),部署脚本(比如重启tomcat),放在服务器的git push hook里,这样每次push,都会触发服务器重新编译一次工程源码,并且部署。
    4.如果不需要编译更好,push上去代码就是新的了。
    5.可以用ssh公钥私钥的方式,这样每次push都不用输入账号密码了。
    lincanbin
        7
    lincanbin  
       2015-03-05 12:37:38 +08:00   ❤️ 1
    写一个脚本来更新,服务器上装Git。
    为了防止I/O冲突,脚本里可以先终止服务,然后pull同步脚本,然后再重启服务。
    lvfujun
        8
    lvfujun  
    OP
       2015-03-05 15:23:36 +08:00
    lvfujun
        9
    lvfujun  
    OP
       2015-03-05 15:25:45 +08:00
    @Jeremial
    @ksc010
    @NemoAlex
    @LT
    @caixiexin
    @lincanbin
    感谢楼上各位的热心回复!已感谢!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2861 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 08:47 · PVG 16:47 · LAX 00:47 · JFK 03:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.