PHPなプロジェクトにcapistrano+gooseでデプロイとDBマイグレーション機能を追加する


PC196557

知り合いのPHPプロジェクトを少し手伝う機会があったので試した時の記録。

広告

環境

  • PHP: 7.1.11
  • ruby: ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]
  • gemコマンドない(インストールできない)
  • rakeコマンドない

みたいな構成のレンサバ。

gemがインストール出来る環境だったらsinatra-activerecordとcapistranoでデプロイとDBマイグレーションを実現出来たはず。

goose

当初、あまりVPSだとばかり思ってxbuildでruby入れてsinatra-activerecordとcapistranoで対応しようかと思ったけど、よくよく調べてみると自由にソフトウェアをインストールすることが出来ない環境だった。

何かソフトウェアをコンパイルするのは難しそうなのでgolangのマイグレーションツールであるgooseを使ってみた。

シンプルだけど今回の要件を満たしてるので問題ない。

deploy.rb

大半のコードはcapistrano/railsのmigrationsから拝借したものになった。rake db:migrateの部分を書き換えただけ。

まとめ

自動デプロイとDBマイグレーションがあるとやっぱり助かる。

普段、Railsを使ってる事が多いので、capistranoを使った。

ただ、ある程度の規模のPHPプロジェクトを触ってくてPHPプロジェクトの場合、どういったデプロイツールやDBマイグレーションツールを使うのが流行りなのか知りたい。

関連記事