
[英]msbuild argument /p:OutDir="$(build.artifactstagingdirectory)" causing some projects to miss "bin/release" folder
[英]There is a cache miss
将变量system.debug
设置为true
以获取更多信息。
您将检查路径以查看它在代理机器上是否正确(您使用的是自托管代理,对吗?)
通常,在添加任务后的第一次运行时,缓存步骤会报告“缓存未命中”,因为此键标识的缓存不存在。 由于您总是遇到“缓存未命中”问题,我怀疑缓存未正确创建或上传。 您可以尝试对package-lock.json
进行一些修改以重新缓存并重新生成一个新密钥,看看结果如何。
检查“缓存作业后任务”结果,看看键是否不同。
在我的情况下,我必须使用npm install --no-save
以便在管道期间不会重新生成 package-lock.json 文件。 这确保了“缓存作业后任务”在缓存 node_modules 时使用相同的缓存键。
编辑
这是我们目前在管道中用于缓存 npm 模块的导出示例。
(您必须确保您的package-lock.json已签入您的代码存储库)
steps:
- task: Cache@2
displayName: 'Npm Install Cache'
inputs:
key: '"npm" | "$(Agent.OS)" | my-project/package-lock.json'
path: 'my-project/node_modules'
cacheHitVar: NpmInstallCached
- task: Npm@1
displayName: 'Npm Install'
inputs:
command: custom
workingDir: my-project/
verbose: false
customCommand: 'install --no-save'
condition: ne(variables['NpmInstallCached'], 'true')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.