indexgo
login

SSHが使えないレンタルサーバーでComposerプロジェクトをgitで管理する方法を考えた

SSHが使えないレンタルサーバー(安いやつ)でComposerプロジェクトをgitで管理する方法を考えてみました。composerがインストールできないorインストールされていない前提です。

作成者:Ssさん 公開日:2018年9月05日 10時32分 更新日:2018年9月05日 10時32分

最近、思いついたWEBアプリをひたすらアップするのが趣味なのですが、アクセスもそんなないときはなるべく安いサーバーでやっつけたいので、SSHも出来ない100円台のサーバーを使っています。

ただ、安いだけあって色々制限もあって、特に本番環境で「composer install」「composer update」が出来ないのがきつかったので、対策を考えてみました。

問題点: composerが使えない or インストールできない

SSHができれば普通にインストールして、あとはgit pushイベントを検知してWebhookとかで「composer update」を呼び出せば良いんですが、安いレンタルサーバーはSSHができないので、composerがそもそもインストールできません。

対策 (1) composerディレクトリもgitレポジトリで管理する

全部gitレポジトリで管理してしまえば良いよね、ということなんですが、問題点もあって、git addやgit pushなどが重くなります。特にLaravelなどのいろんなパッケージを使っているアプリの場合は顕著です。

対策 (2) composerディレクトリだけ個別にFTPでアップロード

vendorディレクトリをFTPでアップロードするという運用です。.gitignoreでvendorディレクトリをgitの管理対象外にしておけば、通常のデプロイは軽いので、最初と更新した時だけFTPアップロードする感じになります。

今回採用したのは(2)

そもそもcomposerの管理は頻繁に行うものでもないので、必要な時にだけFTPすれば良いんじゃね?という結論に至りました。

いろんなWEBアプリを立ち上げていると、サーバー費用もバカにならない、けど、開発は効率よくやりたいという時の参考になれば幸いです。