2017-10-09 3 views
2

典型的なローカルnode_module(angular-cli、rxjs、karma、jasmine、phantomjs-prebuiltなど)を持つAngular 4プロジェクトがあります。開発マシンはWindows上で動作します。 Ubuntu 16.0.4 LTSにインストールされたJenkins CIのアプリケーションのテストを実行したいと考えています。LinuxのWindowsからnode_modulesを使用するJenkins CI ...良いか悪いですか?

node_modulesを処理する "ベストプラクティス"はありますか?

  • node_modulesをGITリポジトリに追加するのは良いですか悪いですか?
  • プラットフォームに依存しないパッケージもあります。 WindowsマシンからコミットされたパッケージはUbuntu上で役に立たないでしょう(私は特にPhantomJS-prebuiltを考えています)
  • 必要なnpmパッケージをCIサーバにインストールする必要がある場合、それらをグローバルにインストールする必要はありませんか?

は、これまでのところ私は「カルマとジェンキンスを使用して、」ブログの記事をたくさん見てきましたが、それらはすべて、ローカルの開発マシン上でジェンキンスを実行します。あまり役に立たない。

おかげ サイモン

答えて

1

それは問題ではない、それは開発者がウィンドウでのコーディングの多くの企業では普通のことだとジェンキンスは、Unixで構築します。

node_modulesフォルダをgitリポジトリにアップロードすることはお勧めできません。ベストプラクティスは、アーティファクトをアーティファクトリポジトリ(Nexus、Jfrog Artifactory ...)にアップロードし、これらの依存関係をpackage.jsonに書き込むことです。

ジェンキンスでnpm installをビルドすると、アーティファクトリポジトリ(Nexus、Jfrog Artifactory ...)からこれらのアーティファクトをダウンロードします。また、アーティファクトを展開するときに、これらのアーティファクトがNexusまたはArtifactoryに展開されます。

+1

git-ignoring/node_modules /を使い、Jenkinsのnpm installを使って必要なパッケージを入手しました。ありがとう@トリスケル。 – Simon

関連する問題