我一直在努力寻找一种方法来有效地将代码上传到我的生产服务器。我的开发服务器在我的本地机器上,所以配置文件是不同的。理想情况下,我想找到一个使用sFTP的命令行客户端,并且只上传已修改过的文件。
我今天用脑子搜索了脑袋,但尚未找到解决方法。我非常感谢任何想法或软件建议。答案 0 :(得分:1)
我会调查rsync。这仅上传已更改的文件。然后,您可以根据副本中的扩展名排除配置文件。
答案 1 :(得分:1)
我使用git和服务器挂钩功能来处理这类事情。
运输是通过ssh。部署是一个强大的推动。
在服务器上,git将推送到用户目录中保密的裸存储库。钩子导致令牌留给cron。另一个用户的另一个cron任务获取令牌,git将私有裸存储库拉入部署目录。对某些人来说,这可能有点Rube-Goldberg,但它对我有用。
这种方法的一个附带好处是因为部署目录与裸存储库不同,可以在部署目录中执行git diff并查看是否有任何有趣的更改...
要了解详细信息,在服务器上创建一个空的空存储库(请参阅man git-init, - bare)将创建一个name.git目录,您可以使用git pull在dev计算机上查看并将所有内容复制到然后推回服务器。在服务器上,在name.git / hooks中,post-commit和post-update执行“echo hello> / tmp / something”为cron留下令牌。在crontab中,另一个cron脚本查找此文件,如果找到它,则执行git pull。它也可以做其他事情,例如如果兼容性调整很重要。