Laravel 5.5 手動でデプロイする (Lolipop マネージドクラウド)

以下の続き vtorica.hatenablog.com

環境

ローカル

テストサーバー

2018年末まで無料で使えるLolipop マネージドクラウドを使用した。 PHPのバージョンは異なる。

ローカルでの作業

テストサーバー用の.envファイルを作成する

$ cp .env.example .env.staging

テストサーバー用にAPP_KEYを生成する

$ php artisan key:generate

テストサーバー用にDB接続設定を変更する

vtorica.hatenablog.com 参照

ここまでの修正をgitでcommitしておく

$ git init
$ git add .
$ git commit -m "initial"

リポジトリアーカイブしてテストサーバーへコピーする

アーカイブ

$ git archive HEAD > Sample.tar

テストサーバーへコピー

SCPでコピー

ファイル・ディレクトリ構成

$ pwd;find . | sort | sed '1d;s/^\.//;s/\/\([^/]*\)$/|--\1/;s/\/[^/|]*/|  /g'
/var/www
|--.bash_history
|--Sample.tar
|--html

展開

$ tar xvf Sample.tar
$ rm Sample tar
$ mv public/* html
$ mv public/.htacess html # ドットファイルは通常 mv * で移動できない
$ rm -rf public

ディレクトリ構成

$ pwd;find . -type d | sort | sed '1d;s/^\.//;s/\/\([^/]*\)$/|--\1/;s/\/[^/|]*/|  /g'
/var/www
|--app
|  |--Console
|  |--Exceptions
|  |--Http
|  |  |--Controllers
|  |  |  |--Auth
|  |  |--Middleware
|  |--Providers
|--bootstrap
|  |--cache
|--config
|--database
|  |--factories
|  |--migrations
|  |--seeds
|--html
|  |--css
|  |--js
|--resources
|  |--assets
|  |  |--js
|  |  |  |--components
|  |  |--sass
|  |--lang
|  |  |--en
|  |--views
|  |  |--auth
|  |  |  |--passwords
|  |  |--layouts
|--routes
|--storage
|  |--app
|  |  |--public
|  |--framework
|  |  |--cache
|  |  |--sessions
|  |  |--testing
|  |  |--views
|  |--logs
|--tests
|  |--Feature
|  |--Unit

.env.staging ファイルをリネーム

$ mv .env.staging .env

composerをインストール

  • /var/www/bin/ ディレクトリを作成して、そこにインストールする
$ mkdir bin
$ cd bin
$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
$ php -r "if (hash_file('sha384', 'composer-setup.php') === '93b54496392c062774670ac18b134c3b3a95e5a5e5c8f1a9f115f203b75bf9a129d5daa8ba6a13e2cc8a1da0806388a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
$ php composer-setup.php
$ php -r "unlink('composer-setup.php');"

composer install

  • /var/www/ で実施する
$ php bin/composer.phar install

migrate

$ php artisan migrate

動作を確認する

  • 確認して終了