防止TFS在构建/发布上删除节点模块

时间:2017-11-13 13:59:12

标签: tfs build azure-pipelines-release-pipeline

我有一个内部部署的TFS服务器,我正在尝试加速Angular应用程序的CI / CD。发布过程中最长的部分是npm install,并且每个触发器(或环境版本)都会删除整个drop文件夹。理想情况下,我不想删除node_modules文件夹,因此npm install只需检索新包。

我无法截取设置的截图,所以我会尽力描述它们。

构建

  1. 复制文件(内容:***,。angular-cli.json)
  2. 发布工件(发布$(build.artifactstagingdirectory)的路径)
  3. 版本

    1. npm install(工作文件夹$(System.DefaultWorkingDirectory / app-name / drop / projectartifiacts)
    2. ng build(不重要)
    3. 上传(不重要)
    4. 我试图在Build上设置Clean = false,Clean Options = sources。但是,这似乎没有帮助。每次构建环境时,它仍然会破坏之前的下降。

      有关如何将drop文件夹保留在node_modules文件夹中的任何想法?

      感谢您的时间。

1 个答案:

答案 0 :(得分:2)

清洁回购时,没有办法保留部分来源。

要加快CI / CD,您不应启用清洁选项。

  

一般而言,为了提高私人代理的性能,请不要清理   回购。在这种情况下,为了获得最大的性能优势,make   确定你也在逐步建设。

     

来源链接:Clean the local repo on the agent

但是,如果这是一个选项,您可以将node_modules文件夹签入源控件。因此,它将在Get source步骤中检索。同时禁用Repositoy和Build setp的清除选项。

参考这篇文章:checking in node_modules