标签: azure-pipelines

如何将用户变量从TFS 2015 Build定义传递给power shell脚本?

我正在开发vNext build TFS 2015.我们如何将用户定义的变量从vNext构建传递给power shell脚本?我正在添加powershell脚本作为构建定义中的一个步骤.

powershell tfsbuild visual-studio-2015 tfs-2015 azure-pipelines

8
推荐指数
1
解决办法
4840
查看次数

通过VSTS Rest API启动构建并传递变量

我想通过REST API启动Visual Studio Team Service构建.有一个用于排队构建API,但我找不到定义变量的方法.

azure-devops azure-pipelines azure-devops-rest-api

8
推荐指数
1
解决办法
6953
查看次数

随机VSTS构建错误 - 处理'msbuild.exe'退出,代码为'-1'.

我有一个中等大小的ASP.NET MVC4解决方案,其中包含大约15个项目.我一直在VSTS中使用付费托管管道(VS 2017)来构建我的版本.虽然我一直在构建或打包步骤中随机获取下面的错误.重新运行构建,它将通过源代码中没有其他更改!没有其他错误,详细信息错误显示在构建日志中.它在解决方案的任何项目中随机出现.任何想法可能导致它或如何获得更多的错误信息,以避免它?

[错误]进程'msbuild.exe'退出,代码为'-1'.

azure-pipelines

8
推荐指数
1
解决办法
2262
查看次数

如何在VSTS上启用代码覆盖率视图?

我的团队将VSTS与托管代理一起使用,并使用Visual Studio Test构建任务来运行所有测试并产生代码覆盖率。但是,“代码覆盖率 ”选项卡此后仍然为空,仅显示下载* .coverage文件的链接。

我实际上希望显示代码覆盖率结果,以及使用表格和图表测试哪些项目以及它们各自的覆盖率。

我们正在使用Visual Studio测试生成任务来测试选中了代码覆盖率的 net461程序集。

有些关联都是这个这个问题,但不完全,因为我们只是使用MSTest的框架与内置Visual Studio的测试生成任务,(我的理解),这也应该自动发布的代码覆盖率结果。

我是否缺少使此Code Coverage视图正常工作的内容?谢谢!!

在此处输入图片说明

code-coverage vstest azure-devops azure-pipelines

8
推荐指数
1
解决办法
8013
查看次数

如何在GitHub检查Azure管道时报告管道的各个作业?

在Circle CI等CI工具上,一次测试运行的各个作业可以作为单独的检查报告给Github.以下是一次测试运行的结果,它在Ubuntu和macOS映像上运行不同的作业:

在此输入图像描述

我还可以在Azure管道上创建一个管道,实现类似的结果,通过多个vmImages和不同的配置运行matrix.但这导致Github上只有一个"检查":

在此输入图像描述

虽然Azure Pipelines本身在这种情况下运行6个不同的作业:

在此输入图像描述

有没有办法配置Azure管道作为单独的GitHub检查报告管道的各个作业,类似于Circle CI?

azure-devops azure-pipelines

8
推荐指数
1
解决办法
217
查看次数

如果天蓝色管道中的“测试失败”,如何使构建管道失败?

如果单个测试因天蓝色管道失败,我想使构建管道失败。

Azure可以成功检测到我的测试进入了失败状态,但是它为整个构建管道提供了成功状态:

在此处输入图片说明

问题是,如果测试阶段失败,如何使azure给出失败的构建状态?

这是我的azure-pipelines.yml

# Build ASP.NET Core project using Azure Pipelines
# https://docs.microsoft.com/azure/devops/pipelines/languages/dotnet-core?view=vsts

pool:
  vmImage: 'Ubuntu 16.04'

variables:
  buildConfiguration: 'Release'

steps:
- script: |
    dotnet build --configuration $(buildConfiguration)
    dotnet test dotnetcore-tests --configuration $(buildConfiguration) --logger trx
    dotnet publish --configuration $(buildConfiguration) --output $BUILD_ARTIFACTSTAGINGDIRECTORY

- task: PublishTestResults@2
  inputs:
    testRunner: VSTest
    testResultsFiles: '**/*.trx'

- task: PublishBuildArtifacts@1
Run Code Online (Sandbox Code Playgroud)

azure-devops azure-pipelines-build-task azure-pipelines

8
推荐指数
2
解决办法
2007
查看次数

如何在池需求中使用矩阵变量?

对于Azure Pipelines yaml文件,我想在特定池中的每个代理上一次运行一组任务。当我查看工作策略矩阵时,它看起来是一个很好的解决方案,但是目前它无法提取我为此使用的变量。

与该问题相关的管道yaml文件是以下部分:

resources:
- repo: self

trigger: none

jobs:
- job: RunOnEveryAgent
  strategy:
    maxParallel: 3
    matrix:
      agent_1:
        agentName: Hosted Agent
      agent_2:
        agentName: Hosted VS2017 2
      agent_3:
        agentName: Hosted VS2017 3
  pool:
    name: Hosted VS2017
    demands:
    - msbuild
    - visualstudio
    - Agent.Name -equals $(agentName)

  steps:
  - (etc.)
Run Code Online (Sandbox Code Playgroud)

使用此脚本,我尝试设置一个矩阵以在池中的三个代理中的每个代理上运行一次。但是,当我尝试在需求列表中引用该代理时,它不会选择它。实际的错误信息如下:

[错误1]在满足指定要求的托管VS2017池中找不到代理:

msbuild

视觉工作室

Agent.Name-等于$(agentName)

Agent.Version -gtVersion 2.141.1

如果我硬编码的代理名称也的工作:

    demands:
    - msbuild
    - visualstudio
    - Agent.Name Hosted VS2017 3
Run Code Online (Sandbox Code Playgroud)

是否支持在池需求中使用这些变量?还是应该使用其他变量或表达式?

azure-devops azure-pipelines-build-task azure-pipelines

8
推荐指数
2
解决办法
344
查看次数

在Azure DevOps(VSTS)的发行阶段之间共享文件

大图:我们正在使用Azure DevOps发布过程(到目前为止,我们在设计器中创建步骤,而不是在YAML管道中创建步骤)。我们发布到具有3个不同数据库的3个环境。该发行版的一部分是从DACPAC文件部署数据库。由于使用SqlPackage.exe直接发布到数据库不是很透明(您不会看到并查看实际的SQL脚本),因此我们希望分两个阶段进行发布:

  1. 从DACPAC创建SQL脚本并对其进行检查
  2. 批准后,从先前生成的脚本运行app和db部署。

问题:如何在阶段之间共享sql脚本文件,以及如何查看该脚本以进行批准。可以在不同的代理上触发阶段。

我已经试过

  1. 将脚本发布为构建工件-这将无法正常工作,因为生成生成脚本需要连接到数据库,并且连接到脚本不应该是构建过程的一部分,尤其是连接到生产数据库。
  2. 作为发布步骤将工件发布到Azure Pipelines-不允许在发布时发布,仅适用于版本发布
  3. 将工件发布到文件共享-我不确定这是如何工作的,文档做得不好。而且,常规的Windows文件共享很难在我们的基础结构中设置,我宁愿避免这样做。

还有其他建议吗?

azure-devops azure-pipelines azure-pipelines-release-task

8
推荐指数
1
解决办法
794
查看次数

在Azure Devops上运行构建时找不到资产文件project.assets.json

我在Azure DevOps上为Service Fabric解决方案配置了一个构建管道,如下所示:

构建任务

直到几天前,当某个特定的构建代理(专用)上的构建开始失败时,一切都很好,并出现以下错误(对于一些项目):

C:\ Program Files \ dotnet \ sdk \ 2.1.200 \ Sdks \ Microsoft.NET.Sdk \ build \ Microsoft.PackageDependencyResolution.targets(327,5):错误:资产文件'F:\ Agent03 \ w \ 84 \ s找不到\ src \ MyProject.Sam.Tiles.Domain \ obj \ project.assets.json'。运行NuGet软件包还原以生成此文件。

失败的任务是Build solution $(PathToSolution)一项。

奇怪的是,当在某些代理上运行时构建失败,但是对于其他代理,构建很好

一些细节:

  • Use NuGet 4.x我认为,这项任务是最近开始使用NuGet v4.9.1的。我尝试使用v4.8.1没有运气;
  • 大多数项目使用PackageReference格式,但是.sfproj项目使用packages.config文件
  • 我尝试使用该dotnet restore任务,但尝试恢复该.sfproj项目的软件包时出现错误:

    错误:无法找到.. \ packages \ Microsoft.VisualStudio.Azure.Fabric.MSBuild.1.6.7 \ build \ Microsoft.VisualStudio.Azure.Fabric.Application.props文件。请还原'Microsoft.VisualStudio.Azure.Fabric.MSBuild'Nuget程序包

关于什么可能导致此问题的任何想法?

nuget azure-service-fabric azure-devops azure-pipelines

8
推荐指数
3
解决办法
3799
查看次数

Build Artifact和Pipeline Artifact任务之间有什么区别?

在Azure DevOps中,我们具有下载 / 发布生成工件任务和下载 / 发布管道工件任务。

构建工件任务和管道工件任务之间有什么区别?何时选择一个而又一个呢?

azure-devops azure-pipelines

8
推荐指数
1
解决办法
935
查看次数