如何在不提交git的情况下部署本地文件?

时间:2010-11-01 09:50:10

标签: deployment capistrano

我在本地分支机构工作,想在登台服务器上尝试我的更改,但我不想提交这些更改。我可以提交本地更改吗?

我知道部署:上传食谱。我需要一种方法来部署几个文件或整个工作的胜利。

感谢。

2 个答案:

答案 0 :(得分:0)

capistrano最重要的是允许在远程服务器上执行代码,我们称之为部署的是一组默认脚本,它们执行在服务器上设置新版本应用程序所需的许多小任务。

因此可以编写自己的脚本来执行以下脚本(它可能不起作用):

包来源

system“tar -czf /tmp/package.tgz *”

将其上传到服务器

上传“/tmp/package.tgz”“/ tmp / package.tgz”

删除旧文件,解压缩服务器上的源

运行“cd / app_path /; rm -rf *; tar -xzf /tmp/package.tgz”

覆盖(强制递归符号链接)文件与一些服务器配置...如database.yml

运行“cp -flrs / app_shared_pa​​th / * / app_path /”

重启应用程序 - 这是针对乘客,使用您自己的服务器命令重启

运行“cd / app_path /; touch tmp / restart.txt”

我在部署之前做了类似的设置 - 在我访问git之前。

答案 1 :(得分:0)

我从rails应用程序部署了一些缓存(缩小等)的javascript文件。最简单的方法就是在capestrano任务中执行此操作:

top.upload("public/javascripts/cache", "#{current_path}/public/javascripts/cache")

这将使用scp上传整个“缓存”目录。