はじめに
プログラミング初心者による備忘録です。
今回はCapistrano
を使用してのEC3への自動デプロイをする過程で発生したエラーについて、解決方法を残します。
発生している問題・エラーメッセージ
以下のコマンドを実行したところ
% bundle exec cap production deploy
下記のエラーが発生
00:00 git:wrapper
中略
00:05 git:create_release
01 mkdir -p /var/www/hoge/releases/20230111145424
✔ 01 ec2-user@35.79.231.12 0.079s
02 git archive master | /usr/bin/env tar -x -f - -C /var/www/hoge/releases/20230111145424
02 fatal: not a valid object name: master
02 tar:
02 これは tar アーカイブではないようです
02
02 tar:
02 前のエラーにより失敗ステータスで終了します
02
後略
fatal: not a valid object name: master
が何を言っているのか?
解決方法
①deploy.rb
に以下の記述を追加
set :branch, 'main'
②追加後、GithubDesktopでコミットとプッシュ
③再度ローカルで自動デプロイのコマンド(bundle exec cap production deploy)を実行する
これで解消しました。
原因
Capistrano
のデフォルトの設定としてGithubのmaster
ブランチを読み込んでいたことが原因のようです。
(私のGithubではデフォルトのブランチはmain
)
これをmain
を読み込むんだよ、と設定してあげることで正常にGithubを読み込むことができます。