どうもこんにちは
Laravelでの開発プロジェクト参画中。
このプロジェクトでの、Staging環境やProduction環境へのデプロイ自体は
まだまだ先の話なのですが、ちっとくらいは考えておいた方が良いかな、
と思っている今日この頃、いかがお過ごしでしょうか。
デプロイはDeployerでもいいんだけど、
LaravelだったらEnvoyを使うほうがいいんじゃねーの?
と思ったので、調べてみました。
公式ドキュメントはコチラ ⇒ Laravel 5.8 Laravel Envoy
# あれ?5.8がリリースされているぞ?
目次
インストール
composerからサクッとインストールします。
1 |
composer global require laravel/envoy |
もう、出力ログは記載しません(ズボラ
タスク作成
プロジェクトルートで、envoy initを実行します。
1 |
envoy init 127.0.0.1 |
“127.0.0.1”の部分は、デプロイ先のホストを指定します。
“[user]@[host]”な感じでもOKです。
するってーと、
Envoy file created!
とメッセージが出て、Envoy.blade.phpが作成されます。
Envoy.blade.phpの中身
こんな感じでした。
1 2 3 4 5 6 |
@servers(['web' => '127.0.0.1']) @task('deploy') cd /path/to/site git pull origin master @endtask |
Laravel使いにはなじみのある(私はまだなじんでない)、bladeの構文ですね。
あとは公式ドキュメントに沿って、ストーリーを描く書く。
タスクの実行
Envoy.brade.phpさえ出来上がってしまえばこっちのもの。
プロジェクトルートで、コマンドをたたいて完了です。
1 |
envoy run deploy |
“deploy”の部分は、Envoy.blade.phpの”@task”部分ですな。
まとめ
なにせ、「お手軽」という印象ですね。
いつもたたいてたコマンド、シェルを書いとけばよいだけなんで。
何かあったときのためのロールバックとか、困ったことが多くなりそうな予感。。。
ってなるくらいなら、Deployerかなー
とふんわり思う3月初日でした。
# そもそも、デプロイしたものをロールバックしないといけない状況って何よ