kazu22002の技術覚書

PHPer, Golang, AWS エンジニアの日々

npm,composerのデプロイで必要だったこと

kazu22002.hatenablog.com

kazu22002.hatenablog.com

npmとcomposerの運用で本番環境へのリリースを含めて以前、調べてみました。

調べた内容を元に、実際にgitの管理から外した状態での運用をしようとしたときにちょっと詰まったことを書いてみます。

npmのバージョン管理をどうする

デプロイ環境が一つだが、複数プロジェクトを扱っていたため、npmのバージョンを1プロジェクトの都合で指定しちゃいけない気がしました。

そのままインストールするとすべてのプロジェクトで同じバージョンになることを懸念しました。

そのため今回はnodebrewでnpmのインストールを行い、バイナリのパスを直接参照することでプロジェクトごとに実行できるのではないかと思い、対応しました。

動作としては問題なく、指定バージョンでの実行が行えるようになりました。

正しいのかわからないけど、できれば問題なしです。

composerはphpが必要だった

composerの実行ファイルをgit管理に含めて、実行すればいい。と思っていましたが、どうやらPHP自体は必要だったみたいです。

これもnpmと同じでバージョンに依存していいのか悩みましたが、composer自体がバージョンを持ってるはずなので、phpの新しいバージョンがはいっていれば問題ないだろう。と思い、とりあえずPHP7のインストールを実施しました。

とりあえず実行できるようになりました。

ほかのプロジェクトが利用しだしたら、なにかあるかもしれないけどその時考えよう。

リリースの失敗

あとはリリースのやり方を変えるときはもっと慎重にやったほうが良かった。と反省をかなりしています。

composerを本番にリリースしないように、リリースから除外していたのですが、どうやらvendor配下にcomposerというディレクトリが作成されるようで、この中に重要ファイルが多数ありました。

このディレクトリがリリースされずエラー状態になり、大変でした。

しっかりとテスト環境で動作することを確認してから、導入しましょう(当たり前ですね・・・)。

攻めすぎましたが、まだまだ改善できる部分は多いので、どんどん対応して行きたいです。