标签: azure-pipelines

如何使用powershell更新BuildNumber

我想从powershell脚本更新Build.BuildNumber变量作为构建步骤.

我试过了:

Write-Host "##vso[task.setvariable variable=BUILD_BUILDNUMBER]1.2.3.4"
Run Code Online (Sandbox Code Playgroud)

Write-Host "##vso[task.setvariable variable=Build.BuildNumber]1.2.3.4"
Run Code Online (Sandbox Code Playgroud)

这没效果.

powershell tfs tfs-2015 azure-devops azure-pipelines

11
推荐指数
1
解决办法
3313
查看次数

在TFS内部增加变量值+1

我有一个带有预定义变量$(ProjectBuildNumber)的Microsoft Visual Studio Team Foundation Server(版本15.117.26714.0).

有没有办法在构建过程中增加带有次要内部编号+1的变量的值?

$(ProjectBuildNumber)  =   663
Run Code Online (Sandbox Code Playgroud)

那么,在下一次构建时,它将是:

$(ProjectBuildNumber)  =   664
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

在此输入图像描述

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

11
推荐指数
2
解决办法
2890
查看次数

我可以为同一个存储库创建多个构建管道吗?

我有一个包含两个解决方案的存储库。这两个解决方案文件都存在于根目录中,本质上是这样的:

/WebsiteOneDirectory/
/WebsiteTwoDirectory/
/.gitignore
/WebsiteOne.sln
/WebsiteTwo.sln
Run Code Online (Sandbox Code Playgroud)

我是否可以构建指向此存储库的多个管道来构建不同的解决方案?当我创建我的第一个管道时,它正在为 repo 生成一个 azure-pipelines.yml 文件,所以我不确定如何/如果我将能够拥有多个管道配置,如果这是它期望的固定名称。

azure-devops azure-pipelines

11
推荐指数
2
解决办法
7131
查看次数

在 Azure DevOps 上构建 sqlproj

我正在尝试使用 Azure DevOps Pipelines 从 GitHub 构建我的 .NET Core 2.1 解决方案。它包含一个 SQL 项目,其 TargetFrameworkVersion 为v4.6.2. 这个项目总是无法构建。

Build FAILED.

/home/vsts/work/1/s/MySolution/MyDatabase/MyDatabase.sqlproj : warning NU1503: Skipping restore for project '/home/vsts/work/1/s/MySolution/MyDatabase/MyDatabase.sqlproj'. The project file may be invalid or missing targets required for restore. [/home/vsts/work/1/s/MySolution/MySolution.sln]
/home/vsts/work/1/s/MySolution/MyDatabase/MyDatabase.sqlproj(57,3): error MSB4019: The imported project "/usr/share/dotnet/sdk/2.1.403/Microsoft/VisualStudio/v15.0/SSDT/Microsoft.Data.Tools.Schema.SqlTasks.targets" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
1 Warning(s)
1 Error(s)
Run Code Online (Sandbox Code Playgroud)

如何为构建服务器引用或包含这些目标?它在 VS2017 中构建良好。我花了一天多的时间打猎,找不到关于这个问题的任何信息。

build sqlproj azure-devops azure-pipelines

11
推荐指数
1
解决办法
3985
查看次数

Azure Pipeline 中 .NetCore、VisualStudio 构建和 MSBuild 任务之间的区别?

我正在为我的 .Net Core 项目创建一个新的 CI Azure Pipeline。在 Azure Pipeline 中,Microsoft 提供了三个用于构建的任务,即 .Net Core、Visual Studio Build 和 MSBuild。

由于所有三个任务都执行构建操作,我们是否有任何特定标准来选择一项任务而不是另一项任务?

我已经浏览了 Microsoft 提供的文档,但我找不到关于此的详细信息。

https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/visual-studio-build?view=azure-devops

编辑 注意:我知道 Visual Studio 构建任务有一个版本控制子任务,但这也可以通过单独的自定义任务来实现。

continuous-integration .net-core azure-devops azure-pipelines

11
推荐指数
1
解决办法
3233
查看次数

从 Azure DevOps 导出测试结果

我可能遗漏了一些东西,但找不到从 Azure DevOps 中项目的构建管道执行页面导出测试运行结果的方法。

Azure DevOps - 测试结果页面

当然,有一个“下载日志”选项,从技术上讲,您可以在其中找到来自测试执行步骤的日志以及其他内容,但这似乎不是定期获取此类数据的最佳/正确方法与如何从其他开箱即用的构建系统(TeamCity/Jenkins 等)获取测试结果相比,这是法规/审计/文档目的的基础。

那么从系统中获取此类数据的最佳方法是什么 - 自定义任务还是其他?

unit-testing azure azure-devops azure-pipelines-build-task azure-pipelines

11
推荐指数
2
解决办法
3万
查看次数

Azure DevOps 将 Nuget 发布到托管源

我有一个使用托管(免费)AzureDevops 管道的问题。我有一个小的 .NET Core 项目,我想创建一个 Azure Devops 管道,其中完成以下操作

  • 恢复
  • 建造
  • 推送(到 AzureDevOps 托管的工件提要)

我在 Azure Devops 中的项目中有以下提要设置

在此处输入图片说明

哪个有这个提要的连接信息

..../NugetProjects/_packaging/nugetprojectstestfeed/nuget/v3/index.json

它还应用了以下安全性(注意项目集合构建服务设置为“贡献者”)

在此处输入图片说明

这是从 Microsoft 官方文档的这一段中说的

若要发布到 Azure Artifacts 源,请将项目集合生成服务标识设置为源上的贡献者。

然后我有这个构建管道设置(Yaml)

# ASP.NET Core
# Build and test ASP.NET Core projects targeting .NET Core.
# Add steps that run tests, create a NuGet package, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/dotnet-core

trigger:
- master

pool:
  vmImage: 'ubuntu-latest'

variables:
  buildConfiguration: 'Release'
  Major: '1'
  Minor: '0'
  Patch: '0'

steps:

- task: DotNetCoreCLI@2
  displayName: 'Restore'
  inputs:
    command: …
Run Code Online (Sandbox Code Playgroud)

nuget azure-devops azure-pipelines

11
推荐指数
2
解决办法
7594
查看次数

Azure Devops 多阶段管道或发布,何时使用什么?

我已经开始使用多级管道进行一些测试,以便能够将管道作为代码,但考虑到我们也有发布管道和当前的多级管道,我对管道的使用感到有些困惑可以在门和多个环境中完成发布管道的工作,只是在我更喜欢的基于代码的管道中。

我的问题是什么时候应该使用它们中的每一个?

continuous-integration automation azure-devops azure-pipelines

11
推荐指数
1
解决办法
1545
查看次数

[警告]找不到密钥的 loc 字符串:CorrelationIdForARM

我设计了一个 CI/CD 管道来从 github 部署一个 ARM 模板,以使用 ARM 模板在我的资源组中创建一个 api 管理实例。

在我的发布日志中,我不断收到此警告“无法找到密钥的 loc 字符串:CorrelationIdForARM”,这会减慢进程的速度。尽管经过很长时间成功创建资源后,发布仍显示为失败。

日志

warnings azure azure-resource-manager azure-pipelines

11
推荐指数
1
解决办法
3997
查看次数

如何允许运行时参数为空字符串?

我刚刚开始使用 Azure Pipelines 中的运行时参数,有些东西我不太明白。考虑这个 Azure Pipelines YAML:

parameters:
- name: deployEnvironment
  displayName: Select your target environment.
  type: string
  default: Build_only
  values:
  - Build_only
  - TST
  - PP
  - P
- name: releaseName
  type: string
  default: ''

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

为什么 releaseName 是必需参数?我希望通过指定default: ''将其留空是可选的。文档没有提到是否可以将参数设为可选。

图片

跟进 Kryzstof 的回答,我进一步试验,似乎只包含空格的字符串被解释为空:

似乎这个单个空格被解释为空(我也尝试过多个空格)。

parameters:
- name: myString
  type: string
  default: ' '

steps:
- task: PowerShell@2
  inputs:
    targetType: inline
    script: |
      $MS = $ENV:MS
      Write-Host "myString value is '$MS'"
      Write-Host "Its length is …
Run Code Online (Sandbox Code Playgroud)

azure-devops azure-pipelines azure-pipelines-yaml

11
推荐指数
3
解决办法
5212
查看次数