2017-11-13 5 views
1

AngularアプリケーションのCI/CDをスピードアップしようとしている構内TFSサーバーがあります。リリースプロセスの最長部分はnpmインストールで、各トリガー(または環境リリース)でドロップフォルダ全体が削除されます。理想的には、node_modulesフォルダを削除しないでください。npmのインストールでは新しいパッケージを取得するだけです。TFSがビルド/リリースでノードモジュールを削除しないようにする

私は設定のスクリーンショットを撮ることができませんので、私はそれらを説明するために最善を尽くします。

ビルド

  1. ファイルのコピー(内容量:***、.angular-cli.json)
($(build.artifactstagingdirectory)を発行するために、パス)アーティファクトを公開

リリース

  1. NPMは、(作業フォルダの$(System.DefaultWorkingDirectory /アプリ名/ドロップ/ projectartifiacts)
  2. NGビルド(重要でない)
  3. をインストールアップロード(重要でない)

私はクリーン設定しようとしました= false、クリーンオプション=ビルドのソース。しかし、これは役に立たないようです。また、環境が構築されるたびに、以前のドロップを破棄します。

node_modulesフォルダにdrop folder preserverを保存する方法に関するアイデアはありますか?

お時間をいただきありがとうございます。

答えて

2

レポをクリーニングするときに、ソースの一部を残す方法はありません。

そして、CI/CDを高速化するには、を清掃してください。オプションを有効にしないでください。

通常、プライベートエージェントのパフォーマンスを向上させるには、 レポをクリーニングしないでください。この場合、パフォーマンスを最大限に引き出すには、 も段階的に構築してください。

ソースリンク:Clean the local repo on the agent

ことがoption.Thusだ、それがGETソースステップで取得されます場合は、あなたがソース管理にnode_modulesフォルダに確認することができます。 RepositoyとBuild setpのクリーンオプションも無効にしてください。

リファレンスこの記事を:checking in node_modules

+0

明確にするために、NPMインストールは、TFSのリリースパイプライン中に発生します。あなたの答えはBuildパイプラインについて話しているようです。以前のリリースからインストールされたnode_modulesの一部を保護する方法はありますか? –

+0

@MarkDeVernoいいえ、リリース用アーティファクトをダウンロードする前にアーティファクトからソースを取得します。最初にアーティファクトディレクトリをクリーニングします。したがって、node_modulesをそこにとどめておくことはできません。 –

関連する問題