Han*_*ans 8 capistrano ruby-on-rails-3
我通过Capitrano从Git存储库进行了简单的部署.
我想更改我正在使用的存储库,所以我基本上只是改变了
set:repository,"git@github.com:new_repository"
但是在部署时我收到以下错误:
致命:无法解析对象'9cfb ...'.
一旦我改变,问题就消失了
set:deploy_via,:remote_cache
至
set:deploy_via,:copy
我也试过部署:清理但是我收到以下错误:
*`deploy:cleanup'仅对匹配{:except => {:no_release => true}}的服务器运行,但没有匹配的服务器*
不知道怎样才能让remote_cache再次运行?
Thansk!
use*_*777 10
卡皮斯特拉诺<3
从服务器的部署文件夹中将其修复为./shared/cached-copy/.git/config.
或丑陋的方式做到这一点:
从服务器的部署文件夹中删除共享/缓存副本.
Capistrano> 3
从服务器的部署文件夹中将其修复为./repo/config.
了解如何解决类似问题
这是因为您的服务器文件引用了旧的repo,因此您必须找到并修复它.这样做可以在文件中找到匹配项:
cd /path/to/your/project
grep -r OLD_REPO_NAME ./
Run Code Online (Sandbox Code Playgroud)
现在,您可以看到所有文件,包括您的OLD_REPO_NAME.如果它们在您的发布文件夹或当前匹配,您不需要关心修复它们.但是你应该修复所有的配置.
Val*_*ala 10
使用capistrano 3,以避免删除repo文件夹:
config/deploy.rb正如OP已经做的那样,更改你的repo URL
SSH到您的服务器内部并更改git仓库的远程URL:
ssh user@server.com
# Go the capistrano deploy root
cd /capistrano/deploy/root/folder
# Go inside the folder names *repo*
cd repo
# Manually change the git remote
git remote set-url origin ...
Run Code Online (Sandbox Code Playgroud)Capistrano 3用户的其他信息。Capistrano将创建一个文件夹repo。所以结构看起来像这样:
current -> /var/www/preview/releases/20140612212305
releases
repo
revisions.log
shared
Run Code Online (Sandbox Code Playgroud)
当您更改:repo_urlin时deploy.rb,可以安全地删除repo文件夹并运行部署。该文件夹将再次创建。您必须执行此步骤的原因是因为repo / config中的是旧的远程URL。
| 归档时间: |
|
| 查看次数: |
4117 次 |
| 最近记录: |