#知りたい事
直前まで自動デプロイが可能であったが、自動デプロイができなくなった。
デバッグがうまくできず対応に困っている。
まず、確認したいのは
なぜsecrets.ymlがuploadingしなくなったのかを知りたい。
#log_capistrano.logの確認
INFO --------------------------------------------------------------------------- INFO START 2019-08-21 17:37:27 +0900 cap production deploy INFO --------------------------------------------------------------------------- DEBUG [14a37743] Running [ -d $HOME/.rbenv/versions/2.5.1 ] as ec2-user@**.**.**.*** DEBUG [14a37743] Command: [ -d $HOME/.rbenv/versions/2.5.1 ] DEBUG [14a37743] Finished in 0.636 seconds with exit status 0 (successful). DEBUG [39be5a7b] Running [ ! -d /var/www/ruby-like/shared/config ] as ec2-user@**.**.**.*** DEBUG [39be5a7b] Command: [ ! -d /var/www/ruby-like/shared/config ] DEBUG [39be5a7b] Finished in 0.136 seconds with exit status 1 (failed).ここで終了
強制終了となる。問題なくできていた前回のデプロイ内容と比較する。
直前のデプロイの内容
secrets.ymlをuploadingするように動いている。
記述も処理速度以外に違いが見受けられない。
INFO --------------------------------------------------------------------------- INFO START 2019-08-21 15:42:30 +0900 cap production deploy INFO --------------------------------------------------------------------------- DEBUG [a4f90f48] Running [ -d $HOME/.rbenv/versions/2.5.1 ] asec2-user@**.**.**.*** DEBUG [a4f90f48] Command: [ -d $HOME/.rbenv/versions/2.5.1 ] DEBUG [a4f90f48] Finished in 0.931 seconds with exit status 0 (successful). DEBUG [eda26c70] Running [ ! -d /var/www/ruby-like/shared/config ]as ec2-user@**.**.**.*** DEBUG [eda26c70] Command: [ ! -d /var/www/ruby-like/shared/config ] DEBUG [eda26c70] Finished in 0.200 seconds with exit status 1 (failed). >>>>>>>>>>>>ここから先に繋がっている。>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> DEBUG Uploading config/secrets.yml 0.0% INFO Uploading config/secrets.yml 100.0% INFO [c2facd63] Running /usr/bin/env mkdir -p /tmp as ec2-user@**.**.**.*** DEBUG [c2facd63] Command: ( export RBENV_ROOT="$HOME/.rbenv" PATH="/usr/local/rbenv/shims:/usr/local/rbenv/bin:$PATH" AWS_ACCESS_KEY_ID="*******************" AWS_SECRET_ACCESS_KEY="*******************" RBENV_VERSION="2.5.1" ; /usr/bin/env mkdir -p /tmp ) INFO [c2facd63] Finished in 0.666 seconds with exit status 0 (successful). >>>>>>>>>>>>以下デプロイが続く>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.
対応ファイルの記述
config-deploy.rbの記載確認
# config valid for current version and patch releases of Capistrano lock "~> 3.11.0" # Capistranoのログの表示に利用する set :application, "ruby-like" # どのリポジトリからアプリをpullするかを指定する set :repo_url, 'git@github.com:*****/*****.git' # バージョンが変わっても共通で参照するディレクトリを指定 set :linked_dirs, fetch(:linked_dirs, []).push('log', 'tmp/pids', 'tmp/cache', 'tmp/sockets', 'vendor/bundle', 'public/system', 'public/uploads') set :rbenv_type, :user set :rbenv_ruby, '2.5.1' # どの公開鍵を利用してデプロイするか set :ssh_options, auth_methods: ['publickey'], keys: ['~/.ssh/*****.pem'] # プロセス番号を記載したファイルの場所 set :unicorn_pid, -> { "#{shared_path}/tmp/pids/unicorn.pid" } # Unicornの設定ファイルの場所 set :unicorn_config_path, -> { "#{current_path}/config/unicorn.rb" } set :keep_releases, 5 # S3に登録するにあたり設定した環境変数をよみこますための設定 set :default_env, { rbenv_root: "/usr/local/rbenv", path: "/usr/local/rbenv/shims:/usr/local/rbenv/bin:$PATH", AWS_ACCESS_KEY_ID: ENV["AWS_ACCESS_KEY_ID"], AWS_SECRET_ACCESS_KEY: ENV["AWS_SECRET_ACCESS_KEY"] } # secrets.yml用のシンボリックリンクを追加 set :linked_files, %w{ config/secrets.yml } # デプロイ処理が終わった後、Unicornを再起動するための記述 after 'deploy:publishing', 'deploy:restart' namespace :deploy do task :restart do invoke 'unicorn:restart' end desc 'upload secrets.yml' task :upload do on roles(:app) do |host| if test "[ ! -d #{shared_path}/config ]" execute "mkdir -p #{shared_path}/config" end upload!('config/secrets.yml', "#{shared_path}/config/secrets.yml") end end before :starting, 'deploy:upload' after :finishing, 'deploy:cleanup' end
対応
本番環境下でログを確認した。
対応ディレクトリまで移動
$cd .ssh/ $ssh -i *****.pem ec2-user@********** $cd /var/www/アプリ名/ #productionログの確認 $less shared/log/production.log #unicornログの確認 $less shared/log/unicorn.stderr.log
原因に繋がるようなログを見つける事ができず。
このような場合、確認するべき事項なども合わせてご教授頂ければ幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。