113
 INFO [050fe961] Running mkdir -p /home/rails/rails-
capistrano/releases/20140114234157 on staging-rails
DEBUG [050fe961] Command: cd /home/rails/rails-capistrano/repo && ( PATH=/opt/ruby/bin:$PATH GIT_ASKPASS=/bin/echo GIT_SSH=/tmp/rails/git-ssh.sh mkdir -p /home/rails/rails-capistrano/releases/20140114234157 )
 INFO [050fe961] Finished in 0.142 seconds with exit status 0 (successful).
 INFO [2dea2fe5] Running git archive feature/Capistrano | tar -x -C /home/rails/rails-capistrano/releases/20140114234157 on staging-rails
DEBUG [2dea2fe5] Command: cd /home/rails/rails-capistrano/repo && ( PATH=/opt/ruby/bin:$PATH GIT_ASKPASS=/bin/echo GIT_SSH=/tmp/rails/git-ssh.sh git archive feature/Capistrano | tar -x -C /home/rails/rails-capistrano/releases/20140114234157 )
DEBUG [2dea2fe5]    fatal: Not a valid object name
DEBUG [2dea2fe5]    tar: This does not look like a tar archive
DEBUG [2dea2fe5]    tar: 
DEBUG [2dea2fe5]    Exiting with failure status due to previous errors      

私は2つのことについて混乱しています:

  1. カピストラーノがgit archiveここで実行されている理由:
    git archive feature/Capistrano | tar -x -C /home/rails/rails-capistrano/releases/20140114234157

  2. なぜtar失敗するのですか?

4

7 に答える 7

19

app_name/repo を削除すると、この問題も修正されました。

于 2014-05-27T16:55:27.460 に答える
4

そのフォルダーは git pull を介して作成されると思うので、空にすることはできません。空の場合、問題は tarball ではなく git にあります。

私が抱えていた問題は、capistrano deploy.rb リポジトリの URL が、作業中のプロジェクトとは異なる URL に設定されていたことです。この問題を修正するには、サーバーにログオンして app_name/repo フォルダーを削除する必要がありました。元の不正なリモート URL がキャッシュされています。

于 2014-02-09T00:13:43.130 に答える
4

このエラーが発生するたびに、 deploy/ environment .rb ファイルで指定されたブランチが git にチェックインされていなかったことが原因でした。add / commit / git push origin branch_nameを実行すると、動作する可能性があります。

于 2016-09-30T08:52:26.217 に答える
0

開発には Bedrock Roots (wordpress)、デプロイには capistrano、git flow を使用しています。hotfix/xxx ブランチでローカルに展開しようとしたときに、このエラーが発生しました。それで、私は現在(開発ブランチへの変更をマージ)を終了し、正常に展開しました。

于 2015-08-26T12:47:11.780 に答える
0

次の方法でブランチを設定できますdeploy.rbset :branch, "main"

ソース

注: デフォルトのブランチはmaster

于 2021-05-26T09:57:32.383 に答える