Ruby
Rails
AWS
デプロイ

本番環境じゃなくてローカル環境で画像がうまく表示されない

ローカル環境では問題ないのにデプロイして確認するとビューが崩れていることって多々ある。

が今回は本番環境でみられるのに、ローカルでダメという事態。しかも自分はどっちの環境でも大丈夫で,見られないのは同じチームのメンバーのみ。

以下画像を投稿した際のエラー文🙄

image.png


Excon::Error in ItemsController#create

で調べてみるとS3とかAWSの設定関連の記事が多く見つかる。。。

デプロイは自分が担当していたので、まずはAWS設定を変えてみる方向で考えた。

stack over flowで同じようなエラー文に関する記事を見つけたので読んでみる。

1) Sign in to the AWS Management Console at http://aws.amazon.com/iam/

2) Click "Policies" from the Navigation Pane on the left

3) Select the "AdministratorAccess" policy

4) Click Policy Actions > Attach at the top of the page

5) Select the user associated with my S3_ACCESS_KEY, S3_SECRET_KEY, and S3_BUCKET

6) Click "Attach Policy"

やったこと(AWS)

上記の記事抜粋部を参考に、

①AWSにアクセス→②IAMを開いてポリシーをクリック→③検索フィールドで"AdministratorAccess"を選択→④"ポリシーの使用状況"をクリックして、作業中のインスタンスをアタッチ

やったこと(サーバー)


(uploaders/image_uploader.rb)

if Rails.env.production?
storage :fog
else
storage :file
end

(carrier_wave.rb)

if Rails.env.production?
CarrierWave.configure do |config|
config.fog_credentials = {
# Configuration for Amazon S3
:provider => 'AWS',
:aws_access_key_id => ENV['S3_ACCESS_KEY'],
:aws_secret_access_key => ENV['S3_SECRET_KEY']
}
config.fog_directory = ENV['S3_BUCKET']
end
end

にして本番環境とローカル環境で条件分岐。


感じたこと

デプロイって完全にインフラの領域で今後やりたいことと必ずしも直結はしないけど、WEBに関しての知識が身につく点で学ぶ価値がある気がする。

他分野のことを違った視点で観察できそう。

ただ、今の時点でやってることは"プログラミング"というか単なる"設定"なので、やっぱあんまり面白みはないかなあ苦笑