【问题标题】:Uploading code to production server将代码上传到生产服务器
【发布时间】:2011-08-08 11:52:17
【问题描述】:

我一直在尝试找到一种方法来有效地将代码上传到我的生产服务器。我的开发服务器在我的本地机器上,所以配置文件是不同的。理想情况下,我想找到一个使用 sFTP 并且只上传已修改文件的命令行客户端。

我今天用谷歌搜索了我的大脑,但还没有找到解决方案。我非常感谢任何想法或软件建议。

【问题讨论】:

    标签: linux sftp


    【解决方案1】:

    我会调查rsync。这仅上传更改的文件。然后,您可以根据副本中的扩展名排除配置文件。

    【讨论】:

      【解决方案2】:

      我使用 git 和服务器挂钩功能来处理这类事情。

      通过 ssh 传输。部署是一个 git push。

      在服务器上,git 推送到一个裸存储库,该存储库在用户目录中保持私有。钩子会导致为 cron 留下一个令牌。另一个用户的另一个 cron 任务获取令牌,然后 git 将私有裸存储库拉到部署目录中。对某些人来说,这可能有点像 Rube-Goldberg,但它对我有用。

      这种方法的一个附带好处是因为部署目录与裸存储库不同,可以在部署目录中执行 git diff 并查看是否有任何有趣的变化...

      要了解详细信息,在服务器上创建一个裸空存储库(请参阅 man git-init, --bare)将创建一个 name.git 目录,您可以使用 git pull 在您的开发机器上签出该目录并将所有内容复制到然后推回服务器。在服务器上,在 name.git/hooks 中,post-commit 和 post-update 执行“echo hello >/tmp/something”为 cron 留下令牌。在 crontab 中,另一个 cron 脚本查找此文件,如果找到,则执行 git pull。它也可以做其他事情,例如如果兼容性调整很重要。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-08-17
        • 2012-03-26
        • 1970-01-01
        • 1970-01-01
        • 2016-10-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多