标签: azure-pipelines-build-task

在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
查看次数

如何在Azure DevOps管道中指定解决方案文件

我在配置Azure DevOps Dotnet核心生成过程时遇到问题。

我有一个简单的dotnet核心项目,正在尝试在Azure DevOps环境中进行构建。

该项目位于我的仓库内的子文件夹中,但是我无法弄清楚如何指定管道应如何找到我的csproj文件。 MSDN文档建议您可以指定它,但没有示例,我的所有尝试都遇到错误。

使用标准dotnet CLI模板构建管道时,创建的YAML为:

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

pool:
  vmImage: 'Ubuntu 16.04'

variables:
  buildConfiguration: 'Release'

steps:
- script: dotnet build --configuration $(buildConfiguration)
  displayName: 'dotnet build $(buildConfiguration)'
Run Code Online (Sandbox Code Playgroud)

但是,遇到错误:

MSBUILD : error MSB1003: Specify a project or solution file. 
The current working directory does not contain a project or solution file. …
Run Code Online (Sandbox Code Playgroud)

.net-core azure-devops azure-pipelines-build-task

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

如何在Visual Studio Team Services中运行NUnit测试

当我尝试在VSTS任务中执行NUnit测试时,我收到以下错误:

Warning: The path 'C:\a\1\s\INCASOL.IP\packages' specified in the 'TestAdapterPath' does not contain any test adapters, provide a valid path and try again.
Run Code Online (Sandbox Code Playgroud)

我在VSTS中有这些任务:

在此输入图像描述

"运行单元测试"任务配置如下: 在此输入图像描述

注意我已设置"自定义测试适配器的路径".

我认为NUnit的dll已正确复制到packages文件夹,因为在"Nuget restore"任务中我可以看到以下内容:

Added package 'NUnit.2.6.4' to folder 'C:\a\1\s\INCASOL.IP\packages'
Run Code Online (Sandbox Code Playgroud)

注意:NUnit版本是2.6.4,我正在使用托管代理

continuous-integration nunit azure-devops azure-pipelines-build-task

10
推荐指数
1
解决办法
7849
查看次数

VSTS中的“复制文件”与“发布工件”任务之间有什么区别?

在我的Copy Files任务中,我将所需文件复制到将要进行部署的文件共享位置。发布工件步骤的用途是什么?还是在我看来已经过时了。我对应该在框中输入什么值感到困惑。

在此处输入图片说明

azure-devops azure-pipelines-build-task

10
推荐指数
1
解决办法
7305
查看次数

如何从VSTS CI管道为解决方案中的每个项目单独发布工件?

在我的解决方案中,我有两个项目(Asp.net MVC和Windows服务).我想创建CI/CD管道以在不同的VM上部署Web应用程序和Windows服务.但要实现这一点,我的CI管道应该能够为两个项目分别发布工件,然后我可以在CD管道中提供这些工件以进行部署.所有项目的工件如何在CI管道中单独发布?

PS:如果我创建两个解决方案,每个解决方案只有一个项目并分别创建CI/CD管道,一切正常.但我想通过上面提到的具有多个项目的解决方案来实现它.

azure-devops azure-pipelines-build-task azure-pipelines azure-pipelines-release-pipeline

10
推荐指数
2
解决办法
8376
查看次数

YAML Nuget 还原

尝试使用新的 YAML 构建功能在 Azure DevOps 中创建构建配置,但是在引用 NuGet.config 文件(位于我的项目文件夹的根目录中)时,我似乎无法使 Nuget 恢复工作

在我的 YAML 构建文件中,我有:

- task: NuGetCommand@2
  displayName: 'NuGet restore'
  inputs:
    restoreSolution: '$(Parameters.solution)'

    feedsToUse: config

    nugetConfigPath: 'NuGet.config'
Run Code Online (Sandbox Code Playgroud)

在我的日志中,我得到以下信息:

2018-09-25T17:25:07.4624712Z ##[section]Starting: NuGet restore
2018-09-25T17:25:07.4631787Z ==============================================================================
2018-09-25T17:25:07.4631904Z Task         : NuGet    
2018-09-25T17:25:07.4632707Z Description  : Restore, pack, or push NuGet packages, or run a NuGet command. Supports NuGet.org and authenticated feeds   like Package Management and MyGet. Uses NuGet.exe and works with .NET Framework     apps. For .NET Core and .NET Standard apps, use the .NET Core …
Run Code Online (Sandbox Code Playgroud)

azure-devops azure-pipelines-build-task

10
推荐指数
1
解决办法
5069
查看次数

附加到 Azure Devops 上的 PATH?

我需要附加到 Azure Devops 管道上的 PATH 环境变量。我尝试运行一个脚本来执行此操作,但它不起作用:

- script: |
echo '##vso[task.setvariable variable=PATH]${PATH}:some/path/'
Run Code Online (Sandbox Code Playgroud)

这无法设置路径,并且还会导致后续脚本失败,并显示以下内容:

##[error]Unable to locate executable file: 'bash'. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.
Run Code Online (Sandbox Code Playgroud)

我需要做什么才能设置这个?

continuous-integration azure-devops azure-pipelines-build-task

10
推荐指数
2
解决办法
9811
查看次数

从触发Team Services中的构建的分支获取源代码

我想在VS Team Services中创建一个集成构建,当对除master之外的任何分支(develop/feature xy)进行提交时触发.

我能够为此创建一个触发器:

在此输入图像描述

但是我如何检查触发构建的分支的来源?

在任务选项卡中,第一步是"获取源",这里我只能选择一个分支(这里不能使用*通配符):

在此输入图像描述

否则,例如,构建由特征分支触发,但源是从开发分支获取的.我怎样才能做到这一点?

continuous-integration azure-devops azure-pipelines-build-task azure-pipelines

9
推荐指数
1
解决办法
1847
查看次数

Azure DevOps 构建任务:创建内容与 Visual Studio Publish 相同的 zip

在 Visual Studio 中,当我们发布到一个文件夹时,该文件夹包含我们需要部署的内容。

在 Azure Pipeline 中,Build Solution 任务会生成一堆(对我们来说)不必要的文件和一个 zip 文件(很好!)。zip 包含我们需要的文件,但隐藏在一个疯狂的深文件夹路径中:

\Content\D_C\a\1\s\src\MyProject\obj\Release\Package\PackageTmp\our-files.dll
Run Code Online (Sandbox Code Playgroud)

我们更喜欢的是:

\our-files.dll
Run Code Online (Sandbox Code Playgroud)

它还修改 web.config 中的 connectionStrings 以支持它附带的部署脚本。我们不需要那个脚本,而且修改很麻烦(我们通过添加<AutoParameterizationWebConfigConnectionStrings>false</...>到 .csproj 文件来禁用它- 哎呀!)`。

我们尝试在 Build Solution 步骤中对参数大惊小怪:

/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactstagingdirectory)\\"
Run Code Online (Sandbox Code Playgroud)
  • 更改DeployOnBuildfalse导致 $(build.artifactsstagingdirectory) 为空(导致下一步不部署任何内容)

  • 更改WebPublishMethodFileSystem没有区别(尝试查找有关允许值的文档!)

  • 更改PackageAsSingleFilefalse做人们所期望的 - 没有 zip,但内容仍然隐藏在那个深层文件夹结构中。

我们的下游脚本可以打开清单文件,将深度路径 xpath 导出到 zip 中(路径是否总是以开头d_C?),解压缩并从那里获取内容 - 但这是多么痛苦和多么不必要。

有没有办法只发布一个很好的干净构建 - 一个 zip 的内容可以直接解压缩到与 Visual Studio 中的纯简发布相同的文件?

visual-studio azure-pipelines-build-task

9
推荐指数
1
解决办法
6021
查看次数

##[错误]在以下环境变量中找不到版本号数据:BUILD_BUILDNUMBER

我使用下面的 yaml 来生成我的 NuGet pkg。我想为我的包裹提供一个带有日期的唯一 ID。但我不断收到错误消息,说在以下环境变量中找不到版本号数据:BUILD_BUILDNUMBER

##[错误]在以下环境变量中找不到版本号数据:BUILD_BUILDNUMBER。变量的值应包含一个带有或为正整数的子字符串。

我尝试使用 name: $(Build.DefinitionName)-$(date:yyyyMMdd)$(rev:.r)# 需要这个用于byBuildNumberverisonScheme nuget 包。

还尝试BUILD_BUILDNUMBER在 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

name: $(Build.DefinitionName)-$(date:yyyyMMdd)$(rev:.r) # need this for byBuildNumber verisonScheme nuget pack
# the build will trigger on any changes to the master branch
trigger:
- master

# the build will run on …
Run Code Online (Sandbox Code Playgroud)

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

9
推荐指数
1
解决办法
3760
查看次数