ご覧いただきありがとうございます。
###前提・実現したいこと
ローカルのVagrantで開発をしているLaravel5のアプリをEC2にデプロイしたいです。
###開発環境
各ソフトウェアとバージョンは下記です。
【ローカル】
ソフトウェア | バージョン |
---|---|
Vagrant | 1.9.1 |
nginx | 1.11.9 |
Ubuntu | 16.04.2 |
PHP | 7.1.3 |
Laravel | 5.4.24 |
Laravel Homestead | 2.1.0 |
Deployer | 5.1.3 |
【EC2】
ソフトウェア | バージョン |
---|---|
Vagrant | 1.9.1 |
nginx | 1.10.3 |
Ubuntu | 16.04.2 |
PHP | 7.0.18 |
githubはこちらです。
hibriiiiidge/LaravelProject
###発生している問題・エラーメッセージ
現在、下記でデプロイを実行すると、
vagrant@homestead:~/Code/myProject$ dep deploy production -vvv
下記のエラーが生じております。
➤ Executing task artisan:migrate [13.114.X.X] > /usr/bin/php /var/www/html/releases/1/artisan migrate --force [13.114.X.X] < Could not open input file: /var/www/html/releases/1/artisan ➤ Executing task deploy:failed • done on [13.114.X.X] ✔ Ok [1ms] ➤ Executing task deploy:unlock [13.114.X.X] > rm -f /var/www/html/.dep/deploy.lock • done on [13.114.X.X] ✔ Ok [159ms] [Deployer\Exception\RuntimeException (1)] The command "/usr/bin/php /var/www/html/releases/1/artisan migrate --force" failed. Exit Code: 1 (General error) Host Name: 13.114.X.X
EC2の/var/www/html/
は以下のようになっております。
drwxrwxrwx 5 ubuntu root 4096 Jul 6 03:59 . drw-r-xr-x 3 root root 4096 Jul 5 08:11 .. drwxrwxrwx 2 ubuntu ubuntu 4096 Jul 6 04:00 .dep -rw-r--r-- 1 ubuntu root 612 Jul 5 08:11 index.nginx-debian.html lrwxrwxrwx 1 ubuntu ubuntu 10 Jul 6 03:59 release -> releases/1 drwxrwxr-x 3 ubuntu ubuntu 4096 Jul 6 03:59 releases drwxrwxr-x 3 ubuntu ubuntu 4096 Jul 6 02:28 shared
/var/www/html/releases/1
は以下のようになっております。
drwxrwxr-x 13 ubuntu ubuntu 4096 Jul 6 03:59 . drwxrwxr-x 3 ubuntu ubuntu 4096 Jul 6 03:59 .. drwxrwxr-x 2 ubuntu ubuntu 4096 Jul 6 03:59 bin drwxrwxr-x 3 ubuntu ubuntu 4096 Jul 6 03:59 bootstrap -rw-rw-r-- 1 ubuntu ubuntu 186 Jul 6 03:59 CHANGELOG.md -rw-rw-r-- 1 ubuntu ubuntu 809 Jul 6 03:59 composer.json -rw-rw-r-- 1 ubuntu ubuntu 55991 Jul 6 03:59 composer.lock lrwxrwxrwx 1 ubuntu ubuntu 17 Jul 6 03:59 .env -> ../../shared/.env drwxrwxr-x 8 ubuntu ubuntu 4096 Jul 6 03:59 .git -rw-rw-r-- 1 ubuntu ubuntu 14 Jul 6 03:59 .gitattributes drwxrwxr-x 2 ubuntu ubuntu 4096 Jul 6 03:59 .github -rw-rw-r-- 1 ubuntu ubuntu 81 Jul 6 03:59 .gitignore -rw-rw-r-- 1 ubuntu ubuntu 265 Jul 6 03:59 init.bat -rw-rw-r-- 1 ubuntu ubuntu 250 Jul 6 03:59 init.sh -rw-rw-r-- 1 ubuntu ubuntu 1077 Jul 6 03:59 LICENSE.txt drwxrwxr-x 11 ubuntu ubuntu 4096 Jul 6 03:59 myProject <-こちらがアプリケーションのディレクトリです drwxrwxr-x 11 ubuntu ubuntu 4096 Jul 6 03:59 _myProject2 -rw-rw-r-- 1 ubuntu ubuntu 383 Jul 6 03:59 phpunit.xml.dist -rw-rw-r-- 1 ubuntu ubuntu 1403 Jul 6 03:59 readme.md drwxrwxr-x 2 ubuntu ubuntu 4096 Jul 6 03:59 resources drwxrwxr-x 2 ubuntu ubuntu 4096 Jul 6 03:59 scripts drwxrwxr-x 4 ubuntu ubuntu 4096 Jul 6 03:59 src lrwxrwxrwx 1 ubuntu ubuntu 20 Jul 6 03:59 storage -> ../../shared/storage drwxrwxr-x 4 ubuntu ubuntu 4096 Jul 6 03:59 tests -rw-rw-r-- 1 ubuntu ubuntu 254 Jul 6 03:59 .travis.yml -rw-rw-r-- 1 ubuntu ubuntu 1407 Jul 6 03:59 Vagrantfile drwxrwxr-x 5 ubuntu ubuntu 4096 Jul 6 04:00 vendor
/var/www/html/releases/1/
以下に、artisan
ファイルが存在しないことに起因するエラーだと予想できるのですが、
artisan
ファイルはmyProject
以下に存在する形になっています。
/var/www/html/releases/1/myProject
以下です。
drwxrwxr-x 11 ubuntu ubuntu 4096 Jul 6 03:59 ./ drwxrwxr-x 13 ubuntu ubuntu 4096 Jul 6 03:59 ../ drwxrwxr-x 6 ubuntu ubuntu 4096 Jul 6 03:59 app/ -rwxrwxr-x 1 ubuntu ubuntu 1646 Jul 6 03:59 artisan* <-こちらです。 drwxrwxr-x 3 ubuntu ubuntu 4096 Jul 6 03:59 bootstrap/ -rw-rw-r-- 1 ubuntu ubuntu 1374 Jul 6 03:59 composer.json -rw-rw-r-- 1 ubuntu ubuntu 135963 Jul 6 03:59 composer.lock drwxrwxr-x 2 ubuntu ubuntu 4096 Jul 6 03:59 config/ drwxrwxr-x 5 ubuntu ubuntu 4096 Jul 6 03:59 database/ -rw-rw-r-- 1 ubuntu ubuntu 3301 Jul 6 03:59 deploy.php -rw-rw-r-- 1 ubuntu ubuntu 521 Jul 6 03:59 .env.example -rw-rw-r-- 1 ubuntu ubuntu 111 Jul 6 03:59 .gitattributes -rw-rw-r-- 1 ubuntu ubuntu 131 Jul 6 03:59 .gitignore -rw-rw-r-- 1 ubuntu ubuntu 1062 Jul 6 03:59 package.json drwxrwxr-x 4 ubuntu ubuntu 4096 Jul 6 03:59 public/ -rw-rw-r-- 1 ubuntu ubuntu 3420 Jul 6 03:59 readme.md drwxrwxr-x 5 ubuntu ubuntu 4096 Jul 6 03:59 resources/ drwxrwxr-x 2 ubuntu ubuntu 4096 Jul 6 03:59 routes/ -rw-rw-r-- 1 ubuntu ubuntu 563 Jul 6 03:59 server.php drwxrwxr-x 5 ubuntu ubuntu 4096 Jul 6 03:59 storage/ drwxrwxr-x 4 ubuntu ubuntu 4096 Jul 6 03:59 tests/ -rw-rw-r-- 1 ubuntu ubuntu 555 Jul 6 03:59 webpack.mix.js
以上から、デプロイ時に
/usr/bin/php /var/www/html/releases/1/artisan migrate --force
ではなく、
/usr/bin/php /var/www/html/releases/1/myProject/artisan migrate --force
を実行するようにすれば解決するのではないかと考えているのですが、
その設定方法がわからず、こちらに掲載致しました。
デプロイに関して経験がなく、勉強中なので諸々設定がおかしい点もあるかと存じますが、
何卒ご協力いただけますと幸いです。
deploy.php
は下記のように設定しております。
<?php namespace Deployer; require 'recipe/laravel.php'; // Configuration set('repository', 'git@github.com:hibriiiiidge/LaravelProject.git'); set('git_tty', true); // [Optional] Allocate tty for git on first deployment add('shared_files', []); add('shared_dirs', []); add('writable_dirs', []); // Hosts host('13.114.X.X') ->user('ubuntu') ->port(22) ->identityFile('~/.ssh/XXXXX.pem') ->stage('production') ->set('deploy_path', '/var/www/html'); // Tasks desc('Restart PHP-FPM service'); task('php-fpm:restart', function () { run('sudo systemctl restart php-fpm.service'); }); after('deploy:symlink', 'php-fpm:restart'); // [Optional] if deploy fails automatically unlock. after('deploy:failed', 'deploy:unlock'); // Migrate database before symlink new release. before('deploy:symlink', 'artisan:migrate'); task('deploy', [ 'deploy:prepare', 'deploy:lock', 'deploy:release', 'deploy:update_code', 'deploy:shared', 'deploy:writable', 'deploy:vendors', 'deploy:clear_paths', 'deploy:symlink', 'deploy:unlock', 'cleanup', 'success' ]);
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/12 00:43 編集