有什么方法可以在按计划触发时将参数传递给 azure devops 构建管道 (YAML)?例如,如果您想每晚构建一个发布构建,但又想每周构建一个调试构建?
必须将整个构建管道复制到 SomeBuild-Debug 才能创建默认为 configuration=debug 的构建,以便能够安排它,这似乎是不对的?
谁能提供有关如何将 Angular 测试用例(Jasmine/Karma)集成到 Azure Pipelines 中的信息。构建管道成功执行后,测试用例结果显示在哪里
我没有使用yaml,因为我的公司使用TFVC,所以我需要经典的方式。
使用 $[pipeline.startTime] 我得到了开始时间,但现在我需要以这种方式格式化:dd.MM.yyyy
像 VSO(TFS) 中的 powershellscript - 将当前日期时间作为变量帮助了我,但直接在变量中设置日期将是一种更干净的方法
powershell azure-devops azure-pipelines-build-task azure-pipelines azure-devops-server-2019
我热衷于不让项目质量失控。
我知道在某些情况下警告可能有意义,但我担心警告的数量会随着时间的推移而增加。
我有一个 Azure DevOps 构建(门控提交)管道,我只想允许 10 个警告,以便在某些时候开发人员必须解决他们的警告。
有没有办法对警告进行计数并在警告计数超过一定数量时阻塞管道?
谢谢!
我目前正在开发一条天蓝色的管道。在我的主 github 存储库(存储库 A)中,我添加了另一个 github 存储库作为子模块。(回购协议B)
我的目标是使用以下 YAML 在管道开始处签出子模块:
stages:
- stage: checkout
jobs:
- job: checkout
steps:
- checkout: self
submodules: true
persistCredentials: true
Run Code Online (Sandbox Code Playgroud)
然后尝试签出子模块,但以以下错误结束:
Cloning into '/home/vsts/work/1/s/devops-scripting'...
fatal: could not read Username for 'https://github.com': terminal prompts disabled
fatal: clone of 'https://github.com/sourcerepo/devops-scripting.git' into submodule path '/home/vsts/work/1/s/devops-scripting' failed
Run Code Online (Sandbox Code Playgroud)
这似乎是使用不正确的用户/密码的问题 - 如果我推动我可以简单地使用提供的用户/密码参数,但这似乎不适用于签出。
如何通过天蓝色管道更新子模块?
我正在尝试根据我发布到的每个环境在我的 Web.config 上进行文件转换。大多数情况下,在我部署到发布管道上的 UAT 阶段之前,一切看起来都很好。
在我的构建管道中,这是我正在使用的 YAML 文件:
# ASP.NET
# Build and test ASP.NET projects.
# Add steps that publish symbols, save build artifacts, deploy, and more:
# https://learn.microsoft.com/azure/devops/pipelines/apps/aspnet/build-aspnet-4
pool:
vmImage: 'windows-latest'
variables:
solution: 'SubmissionService.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
steps:
- task: NuGetToolInstaller@1
displayName: 'Install Newer Version on NuGet'
inputs:
checkLatest: true
- task: NuGetCommand@2
displayName: 'Restore NuGet Packages for Solution'
inputs:
command: 'restore'
restoreSolution: '$(solution)'
feedsToUse: config
nugetConfigPath: ./Nuget.config
- task: VSBuild@1
displayName: 'Create Artifact For Solution' …Run Code Online (Sandbox Code Playgroud) azure-pipelines-build-task azure-pipelines azure-pipelines-release-pipeline azure-pipelines-release-task azure-pipelines-tasks
我有一个 DACPAC 部署任务失败,因为由于某种原因$(Build.ArtifactStagingDirectory)管道变量的值在构建管道和发布管道之间发生变化。在构建管道中,该变量设置为C:\agent\_work\2\a,但在发布管道中它是C:\agent\_work\r2\a。这会导致发布管道在尝试部署 DACPAC 工件时失败,因为它正在查找的文件夹是空的;工件实际所在的文件夹将被忽略。如何使这些变量在构建和发布管道之间保持一致,以便从生成的同一文件夹中检索工件?这些变量似乎是内置的,所以我看不到任何方法来更改它们。我总是可以硬编码路径,但这似乎有点笨拙......
azure-devops azure-pipelines-build-task azure-pipelines azure-pipelines-release-pipeline
尝试使用 .NET Core CLI 任务 (DotNetCoreCLI@2) 抑制 Azure DevOps 管道中的警告,但出现以下错误:
MSBUILD:错误 MSB1001:未知开关。开关:--noWarn:MSB3277
以下是代码示例,类似于我在与 msbuild cli 参考相关的几篇文章中使用开关的方式:
- task: DotNetCoreCLI@2
displayName: Release Build
inputs:
command: 'build'
projects: '${{ parameters.solutionPath }}'
arguments: --configuration Release --noWarn:MSB3277
Run Code Online (Sandbox Code Playgroud)
我也尝试过小写 --nowarn ,但仍然没有运气,所以任何有关此问题的帮助将不胜感激。
预先感谢您的支持,
特里
我在 Azure DevOps 中创建了一个管道,用于构建 Angular 应用程序并对其运行一些测试。我将管道分为两个工作:构建和测试。构建作业成功完成。即使构建作业已经完成,测试作业仍会再次从 Git 中检查代码。测试作业需要在构建作业中创建的文件才能像 npm 包一样成功运行。
这是我的 YAML 文件:
trigger:
- develop
variables:
npm_config_cache: $(Pipeline.Workspace)/.npm
system.debug: false
stages:
- stage: Client
pool:
name: Windows
jobs:
- job: Build
displayName: Build Angular
steps:
- template: templates/angularprodbuild.yml
- job: Test
displayName: Run Unit and Cypress Tests
dependsOn: Build
steps:
- template: templates/angularlinttest.yml
- template: templates/angularunittest.yml
- template: templates/cypresstest.yml
Run Code Online (Sandbox Code Playgroud)
我的代理池是在阶段级别声明的,因此两个作业将使用相同的代理。此外,我还向测试作业添加了 dependentOn,以确保使用相同的代理。检查日志后发现,实际上使用的是同一个代理。
如何让测试作业使用在构建作业中创建的文件而不再次检出代码?如果有帮助的话,我正在使用 Angular 11 和 Azure DevOps Server 2020。
我们有某些依赖于某些秘密的功能测试。这些秘密是从 Azure Key Vault (AKV) 获取的,为了从构建代理进行连接,我使用环境变量和AzureIdentity。我使用 powershell 在构建代理计算机上设置这些环境变量。当我使用非秘密管道变量时,一切正常,但是当我切换到 AZURE_CLIENT_SECRET 的秘密管道变量时,身份验证开始失败。我尝试使用脚本从秘密管道变量设置环境变量的方法,但它不起作用。我也尝试过这里提到的方法,但这也不起作用。关于如何使用秘密管道变量设置环境变量有什么建议吗?
azure-pipelines ×10
azure-devops ×6
azure ×2
azure-pipelines-release-pipeline ×2
angular ×1
azure-pipelines-release-task ×1
devops ×1
dotnet-cli ×1
git ×1
powershell ×1