webサービスにデプロイ自動化は不可欠。
リリースする際のデプロイ自動化は不可欠なのですが、アプリケーションとは関係のない所でデプロイ失敗が起きることも多々あります。
今回はCapistranoを実行した際にエラーとなり、リリース出来ないという事象が発生しました。
その時のメモになります。
エラーは違うが事象はどちらも同じ。
エラー内容
エラー文言
fatal: Could not parse object 'b4a8856aa30e9394049efc1359e69d6b91dfb662'.
解決方法
デプロイ先のサーバーに入って以下のコマンドを実行
(デプロイ先を確認すること。webサーバー以外にもDBサーバーやproxyサーバーもデプロイ先対象であればそちらにもログインして以下のコマンドを実行する。)
$ cd [デプロイ先のパス]/shared
$ rm -rf cached-copy/
エラー内容
エラー文言
fatal: reference is not a tree: b4a8856aa30e9394049efc1359e69d6b91dfb662
解決方法
対応方法
「config/deploy/production.rb」に対して、以下の部分をコメントアウト
(検証環境、staging環境へのデプロイの場合は「production.rb」部分が「preview.rb」や「staging.rb」などになる。)
変更前
set :git_shallow_clone, 1
変更後
コメント部分に理由まで書いてあると後から見直しやすい
# capistranoエラー回避のためコメントアウト
# set :git_shallow_clone, 1