Памылка Capistrano, калі сховішча змен з дапамогай Git

У мяне ёсць простае разгортванне з дапамогай Capistrano з рэпазітара Git.

Я хацеў змяніць рэпазітар я працаваў з, так што я ў асноўным проста змяніўся

<�Р> набор: сховішча, "[email protected]: new_reposiуry"

Але я атрымліваю наступнае паведамленне пра памылку пры разгортванні:

са смяротным вынікам: Не ўдалося разабраць аб'ект «9cfb ...».

Праблема сыходзіць, як толькі я мяняю

<�Р> набор: deploy_via ,: remote_cache

у

<�Р> набор: deploy_via ,: копія

Я таксама паспрабаваў разгарнуць: ачыстка, але я атрымліваю наступнае паведамленне пра памылку:

*`deploy:cleanup' is only run for servers matching {:except=>{:no_release=>true}}, but no servers matched*

Любая ідэя, як я мог атрымаць remote_cache зноў працуе?

Thansk!

7

7 адказы

Capistrano < 3

Зафіксуйце яго ў <�моцны> ./ агульны/кэшуюцца капіявання/.git/канфігурацыі з папкі разгортвання сервера.

АБО непрыгожа спосаб зрабіць гэта:

Выдаліць агульны/кэшаваныя-копію з папкі разгортвання сервера.

Capistrano > 3

Зафіксуйце яго ў <�моцны> ./ РЭПО/канфігурацыі з папкі разгортвання сервера.

<�Моцны> Даведайцеся, як выправіць падобныя праблемы

Гэта выклікана тым, як вашы файлы сервера маюць на ўвазе стары рэпазітар, так што вы павінны знайсці і выправіць яе. Зрабіце гэта, каб знайсці запалкі ў файлах:

cd /path/to/your/project
grep -r OLD_REPO_NAME ./

Цяпер вы бачыце, усе файлы, уключаючы ваш OLD_REPO_NAME. Калі яны супадаюць у тэчцы выпуску ці токе, вам не трэба клапаціцца аб фіксацыі іх. Але вы павінны выправіць усе конфігі.

10
дададзена

З Capistrano 3, каб пазбегнуць выдалення тэчкі РЭПО:

  1. Change the repo URL in your config/deploy.rb, as the OP already did

  2. SSH to your server inside and change the remote URL of the git repo :

    ssh [email protected]  
    # 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 ...
    
8
дададзена
Цяпер вы можаце проста зрабіць Каўпачок мярзотнік: абнаўленне
дададзена аўтар chris finne, крыніца

вы можаце проста змяніць GIT URL ў

shared/cached-copy/.git/config
6
дададзена

Дадатковая інфармацыя для Capistrano 3 карыстальнікаў. Capistrano створыць тэчку РЭПО . Такім чынам, структура выглядае наступным чынам:

current -> /var/www/preview/releases/20140612212305
releases
repo
revisions.log
shared

Пры змене : repo_url у deploy.rb вы можаце бяспечна выдаліць <�РЭПО/код> тэчку і запусціць разгортванне. Тэчка будзе створана зноўку. Прычына, чаму вы павінны зрабіць гэты крок, таму што ў РЭПО/конфіг стары аддалены URL.

4
дададзена
Працаваў для мяне (выдаленне тэчкі РЭПО)
дададзена аўтар Jad Joubran, крыніца

SSH на вытворчы сервер і выдаліць змесціва вашай агульны/папкі кэша. Мярзотнік вых захоўваецца там не дзейнічае больш, таму ён не будзе працаваць.

3
дададзена
Так, ГТ -rf cacached-копія працуе для мяне.
дададзена аўтар aisensiy, крыніца
Ды вам патрэбна папка напэўна. Звычайна гэта працуе для мяне. Я заўсёды фіксаваны, што гэтае пытанне сапраўды гэтак жа. дайце падумаць
дададзена аўтар mathieugagne, крыніца
Гэта не працуе з Capistrano 3, змяніць URL у файле РЭПО/канфігурацыі. Агульная папка/кэш не існуе
дададзена аўтар hemc4, крыніца
Прывітанне Мацье. Я выдаліў усе ўнутры падзялянай/кэшаваных-копіі і атрымаў тую ж памылку, то я выдаліў яго і атрымаў гэтую памылку: <�я> ПАМЫЛКА: Repository не знойдзена </я>
дададзена аўтар Hans, крыніца
Дзякуй! Я з усіх сіл на некаторы час з гэтай праблемай без якіх-небудзь вынікаў.
дададзена аўтар Hans, крыніца

SSH на вытворчы сервер і выдаліць змесціва вашай агульны/папкі кэша. Мярзотнік вых захоўваецца там не дзейнічае больш, таму ён не будзе працаваць.

3
дададзена
Так, ГТ -rf cacached-копія працуе для мяне.
дададзена аўтар aisensiy, крыніца
Ды вам патрэбна папка напэўна. Звычайна гэта працуе для мяне. Я заўсёды фіксаваны, што гэтае пытанне сапраўды гэтак жа. дайце падумаць
дададзена аўтар mathieugagne, крыніца
Гэта не працуе з Capistrano 3, змяніць URL у файле РЭПО/канфігурацыі. Агульная папка/кэш не існуе
дададзена аўтар hemc4, крыніца
Прывітанне Мацье. Я выдаліў усе ўнутры падзялянай/кэшаваных-копіі і атрымаў тую ж памылку, то я выдаліў яго і атрымаў гэтую памылку: <�я> ПАМЫЛКА: Repository не знойдзена </я>
дададзена аўтар Hans, крыніца
Дзякуй! Я з усіх сіл на некаторы час з гэтай праблемай без якіх-небудзь вынікаў.
дададзена аўтар Hans, крыніца

Проста дадайце задачу ў deploy.rb, каб сінхранізаваць яго аўтаматычна.

<�Код> $ вечка адміністратар: fix_repo

  namespace :admin do
    desc 'Fix repo'
    task :fix_repo, :roles => :web do
      run "cd #{shared_path}/cached-copy && git remote set-url origin #{repository}"
    end
  end
0
дададзена