Circleci 自動デプロイで起きたエラー


はじめに

今回は、circleciでEC2に自動デプロイを構築しようとした時の備忘録として残します。

参考URL

こちらを参考に作成しました。

秘密鍵が登録できない

Circleciに秘密鍵を登録しようとした所こちらのエラーが出ました。

どうやら秘密鍵が違うみたいです。
色々と調べてみたら、秘密鍵に形式があるみたいで、Circleciではopenssh形式でなく、rsa形式でないと登録できないみたいです。
なので、とりあえずこちらでコマンドで新しく秘密鍵を上書きにして作成しました。

$ openssl rsa -text < server.key

これで、opensshのところが、rsaに変わって登録ができました。

後一歩のところで...

秘密鍵が登録できたので、いざ自動デプロイと思いましたが、こちらのエラーが出ました。

bundleのコマンドが見つからないというエラーですが、なぜか分からない。
https://jpcodeqa.com/q/c24d8d58636e89fa9b586761a5d610b2
とりあえずこちらの記事を参考にさせて頂きました。

deploy-me.sh
#!/bin/bash -l

cd /home/ec2-user/アプリ名/ && git pull && bundle install --path vendor/bundle --without test development && bundle exec rails assets:precompile RAILS_ENV=production

こちらを追加したら、自動デプロイが成功しました。

/bin/bashに-lオプションを付けることでログインシェルとして起動されたかのように bash を動作させてくれます。

まとめ

こちらは、Circleciもそうですが、いろいろな事について勉強不足と痛感しました。