質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

1回答

2512閲覧

AWSのCodeDeployでLaravelアプリケーションアップする際、毎度.envでエラーを引き起こしてしまう

wasi300

総合スコア66

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

2クリップ

投稿2020/02/26 03:10

編集2020/08/11 01:35

お世話になります。

CodeCommit、PipeLine、Deployで、Laravelのアプリケーションをデプロイしてます。

デプロイすると毎度、APP_ENVの値が、developmentに毎度戻ってしまい、エラーになってしまいます。
さらに、Config以下のファイルを変更すると、変更が反映されずエラーになってしまいます。

キャッシュクリアを行うと、変更が反映され動作するのですが、
実際の運用でやる訳にも行かず困っています。

AWSの設定に問題があるのか、それとも、定期的にキャッシュ削除のバッチを走らせるなどしないとダメなのでしょうか…。

情報を追記いたします。

CodeDeployDefault.OneAtATime コンピューティングプラットフォーム EC2/オンプレミス 正常なホストの最小数値 1 CodeDeployDefault.HalfAtATime コンピューティングプラットフォーム EC2/オンプレミス 正常なホストの最小数値 50% CodeDeployDefault.AllAtOnce コンピューティングプラットフォーム EC2/オンプレミス 正常なホストの最小数値 0

appspec.yml

1version: 0.0 2os: linux 3files: 4- source: /pjroot 5destination: /home/user/html/pjroot/

202008追記

これはapacheの方でエンブファイルを強制的に書き換えていたことが問題でした。最近発覚しました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yu_1985

2020/02/26 03:39

CodeDeployの設定と、使っているスクリプトはどんな感じでしょうか
wasi300

2020/02/26 03:54 編集

ご解答頂きありがとうございます。 CodeDeployの設定は、どの設定値を確認すれば良いでしょうか。 デプロイ設定のEC2に関連するものを確認しています。 ⇒ スレッドに追記しました。 スクリプトについては利用しているappspec.ymlをスレッドに追記しました。 情報が間違っている、不足情報などお手数ですがご指摘お願いいたします。
yu_1985

2020/02/26 04:51

デプロイグループの設定とか、そもそものデプロイ先はどこかとか、パイプラインがそもそもどうなってるのかとか、気になる点はたくさんあるのですが、デプロイはファイル配置のみということでしょうか? 環境変数が想定通りセットされていないのであれば、デプロイの際にうまく設定できていないんだろうと思われますが…。
wasi300

2020/02/26 05:05

ご回答いただきありがとうございます。 パイプラインはCodeCommitのReleaseブランチにPushされた場合に、CodeDeployが動くようになっています。 デプロイ先はEC2です。デプロイグループはこのEC2が1台です。 CodeDeployは、CodeDeployDefault.OneAtATimeで設定しています。 デプロイはファイル配置のみです。ファイル自体は置き換わっているのを確認しています。 この問題で、思い当たる点をご指摘いただけるとありがたいです。 何かの記事を参考にしながら設定したので、自分の理解を深めてみます。
guest

回答1

0

ベストアンサー

そもそものLaravelのCacheの扱いの問題のような気がしますね…。(ここをどうするのが正しいのかについては調べても「キャッシュを消す」ばかり出てくるのでちょっとなんとも言えません)
CodeDeployでデプロイする際に、ファイル配置後にconfigをキャッシュに保存しなおせばいいのではないでしょうか。
AfterInstallかApplicationStartあたりでスクリプトを動かせば良いと思います。
参考
CodeDeployのドキュメント

投稿2020/02/26 05:24

yu_1985

総合スコア7447

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

wasi300

2020/02/26 08:21

調べてくださりありがとうございます! なるほど。もう少し調べてみて、ダメそうならキャッシュ再生成するようなプログラム作ってみます。 どうもありがとうございました! …回答に書いてしまったので、こちらに書き直しました。 CirleCiの記事を見てたら、env設定したり、artisan動かしたりをCircleCiの設定ファイルでやってるっぽいので、Lamda動かさなくてもappspec.ymlでいけないかやってみようと思います…。 https://qiita.com/seiya0429/items/83e3f5d53a01d6fbd8d0
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問