現在書いている AngularJS アプリケーションの継続的な展開のために Codeship と Heroku を試しています。アプリは Yeoman を使用して作成され、bower と grunt を使用します。Codeship は無料で使用でき、これを構成して AngularJS プロジェクトをビルドすることができ、ビルド後に展開ステップを追加する機能が提供されたため、最初はこれが本当に良いセットアップのように思えました。選択できる PaaS プロバイダーも多数ありました (Heroku、S3、Google App Engine など)。ただし、Heroku でアプリを実行するのに少し行き詰まったようです。
この問題は、このディレクトリが Heroku ポストビルドに公開されるように、すべてのドキュメントが/dist
my からパスを削除することを示唆しているという事実から始まりました。.gitignore
これは主に、ローカル マシンから Heroku にパブリッシュすることについて説明したドキュメントからのものでしたが、コードシップが内部で行っているのはこれだけだと思います。ビルド出力をソース管理にチェックインする必要があるとは思わないため、これを行いたくありませんでした。正当な理由で/dist
フォルダが追加されました。.gitignore
さらに、この種のことは、マシンから最新のビルドをプッシュするだけでよいため、CI サーバーを持つという点をいくらか無効にします。
bower install && grunt build
さらに掘り下げた後、Herokuでビルドを再実行し、すべてのbower依存関係を再設定するなど、packages.jsonファイルにpostinstallステップを追加できることがわかりました(ソースにチェックインしてほしい他のもの) control!) とdist
ディレクトリ。
これを試してみると、依存関係としてbower
とを に追加する必要があることが明らかになりました。grunt
packages.json
devDependencies
だから私は今行き詰まっているようです。やりたいことは、ビルド アーティファクト ( /dist
)、依存関係 ( /bower_components
)、およびserver.js
サイトを実行するファイルを公開することだけです。Heroku と Codeship でこれを達成する方法を知っている人はいますか? あるいは、さまざまなツールを使用してこれに成功した人はいますか。私は無料のものを探しており、それが本番環境で安定していないこと (複数のサーバーにスケーリングしないなど) を受け入れたいと思っていますが、アプリを継続的にデプロイすることだけが目的なので、今のところこれで問題ありません。内部テストを行い、結果を私のチームの非技術者メンバーと共有して、優先したい機能について話し合うことができるようにする.
アドバイスをいただければ幸いです。
ありがとう