问题标签 [azure-devops-pipelines]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net-core - dotnet restore 不会将文件复制到 azure devops 上的 outdir,适用于 vs
我有一个带有 props 文件的 nuget 包:
在 nuget csproj 文件中它有
这会将 xml 文件复制到 OutDir,并且在我构建时它在 Visual Studio 中运行良好。
当我在管道中使用 dotnet restore 时:
它不会复制引用该 nuget 包的 csproj 的 xml 文件。
我错过了什么吗?
exception - Azure 管道出现错误:[错误]读取操作失败,请参阅 mac 托管代理上的内部异常
我得到这个错误,我试图找出突然发生的原因和发生了什么:更重要的是如何调试这样的错误。这条线是什么意思:
这是哪里:内部异常?
performance - azure 托管的 mac 管道,关于如何使其更快的建议,目前非常慢,在桌面上 5 分钟,在服务器上接近 20
我有这个管道,它工作得很好,但是每次构建都非常耗时,在桌面 xcode 中,构建时间不到 5 分钟,在 mac 云服务器中,它需要 20
尤其是它下载的部分,在
“安装”中配置和编译本机 gem gems and cocoapods script”任务如下
,然后是Fastlane任务:“run fastlane”
,其中编译部分非常慢......
我正在寻找提示和技巧或更好地组织我的管道以更快地构建
使用缓存更新
我添加了缓存部分,但是当我运行它时它给了我一个错误
池:vmImage:'macOS 10.14'
.net - Azure Pipelines:“错误 NETSDK1004:找不到资产文件 '...\project.assets.json'。” 在使用 Cache@2 任务缓存 Nuget 包时在管道中
我有一个 .net core 3.1 解决方案,其中包含多个 Web 和类库项目。所有包都使用文件<PackageReference>
中的格式.csproj
。
我正在使用 Azure DevOps Pipelines 构建解决方案,我想通过缓存 Nuget 包而不是在每次运行时从 nuget.org 恢复它们来减少构建时间。
根据文档和博客文章的一些指导,我已经:
将此
nuget.config
文件添加到我的解决方案中,以便始终从 nuget.org 恢复包:在我的解决方案中添加了一个
Directory.Build.props
文件,以便对于每个项目,packages.lock.json
在构建时都会生成一个。将生成的
packages.lock.json
文件添加到 git。将Cache@2任务集成到我的
azure-pipeline.yml
文件中,如下所示:
我已经成功地运行了管道,所以在第一次运行时它会从 nuget.org 恢复包并将它们保存到缓存中,在随后的运行中它会从缓存中读取它们。
我的问题是,我的构建每隔一段时间就会在“构建解决方案”阶段中断,并为我的每个解决方案项目显示这种错误消息:
##[错误]C:\Program Files\dotnet\sdk\3.1.402\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(241,5):错误 NETSDK1004:资产文件 'D:\a \1\s\MyProject\obj\project.assets.json' 未找到。运行 NuGet 包还原以生成此文件。
当这种情况发生时,我不得不增加我的缓存键和环境变量来强制刷新缓存,然后下面的构建工作。
我的问题是 -为什么会发生这种情况,我该如何解决它,以便我的构建不再如此不稳定?
unit-testing - Azure DevOps Pipeline:在本地通过的测试在管道上失败
我们的团队正在尝试实施 Azure DevOps 管道,但我们遇到了一些问题。作为背景,我们在自托管的 Windows 服务器上运行测试。我们得到了所有工作的前端测试,但现在我们在让后端通过时遇到了问题。
虽然大多数测试都顺利通过,但我们有一些实例无法按预期工作。尽管它们应该能够并行运行,但我将其关闭以验证这不是问题所在。我也尝试过单独运行它们而没有任何明显的变化。
我们得到的错误只是简单的断言失败,如下面的错误,没有给我们太多信息。
但是行号指向一个模拟设置,如下面的我不明白。
目前给我们带来最多问题的测试类是测试我们的事件警报功能的测试类。似乎第一个测试将通过,但随后的测试失败。但是,我们有管道设置来重新运行任何失败的测试 3 次,直到它放弃。因此,在每次重新运行时,下一个测试都会通过。我唯一能想到的是,我们的自动模拟出于某种原因给我们带来了麻烦。我们根据AutoMock - How to unit test with Keyed Registrations设置它们 ?
我们将其模拟如下:
下面是我们的 .runsettings 文件
下面是我们用来运行测试的 YAML
同样,这些测试都在本地顺利通过,如果我在管道上运行足够多次,它们最终会通过。所以我认为问题不在于代码本身。似乎测试没有正确设置或清理。我主要是在寻找可以配置我的 yaml 或 runsettings 以尝试解决此问题的其他方式的任何想法。提前感谢您的任何帮助,如果我可以提供任何其他信息来帮助,请告诉我。
templates - 当 azure devops 中的模板更改时,我可以排除作业的执行吗?
我正在使用模板构建管道(接下来将有更多使用相同模板的管道)。我的问题是当我更改模板中的某些内容时,管道会被执行,这意味着当有更多管道使用模板时,所有的都会被执行。
反正有没有表明当模板更改时我不需要自动执行管道?
这是我的模板:
这里的模板正在使用它:
azure-devops - 如何读取 tfs 中代理的系统定义功能
我想从我的自托管构建代理中读取我的 Msbuild 路径作为系统定义的功能,有什么办法吗?