标签: azure-pipelines

从Visual Studio Team Services中的构建服务器将文件提交回存储库

我目前正在使用TFS/Visual Studio Team Services(VS Online)建立持续集成,我正在使用Team Foundation Build 2015任务.所以不是XAML构建的.

我正在使用它来构建一个Xamarin Android项目,但我认为这是非常不敬的,

这个过程应该是这样的:

  • 办理登机手续后:
  • TFS应该下载源代码
  • TFS应该在AndroidManifest.xml中增加版本号
    • 我已经设法通过为此创建PowerShell脚本来实现此目的.
  • 修改AndroidManifest.xml文件后,应将其提交回TFS存储库

然后剩下的,构建部署到hockeyapp等

第一步都已配置完毕,但我正在努力完成提交部分.如何让TFS提交文件?我真的没有看到任何适合它的任务.我尝试过使用Copy and Publish Build Artifacts Utility - 但这似乎不起作用,我甚至不确定这是否是正确的实用程序

我正在使用默认的托管构建代理btw.任何帮助,将不胜感激

tfs continuous-integration azure-devops azure-pipelines

7
推荐指数
1
解决办法
4847
查看次数

VSTS 托管代理,磁盘空间不足

我无法使用托管代理 (VS 2017) 在 VSTS 中构建错误:

System.IO.IOException: 磁盘空间不足

我曾尝试在 Build 、 Repository 定义上将“Clean”选项设置为 true ,但没​​有解决问题。我没有将此选项设置为 true,我想这会导致当前的情况。

还安装了 VSTS 扩展“清洁代理目录”,并作为构建过程的最后一步添加,也没有解决问题。

是否有选项可以让我解决此问题并继续使用托管构建代理?

azure-devops azure-pipelines

7
推荐指数
1
解决办法
8590
查看次数

VSTS 构建包括所有以前的提交作为关联的更改

我有一个问题,使我以前的所有提交都显示为每个新版本中的相关更改。我相信这个问题与使用通配符分支模式自动触发构建定义有关。我在分支名称上的任何提交上触发我们的发布构建,其模式为“release/*”。我们软件的每个生产版本都从一个新的发布分支开始,命名约定为“release/1”、“release/2”等,其中编号与我们发布的软件版本相匹配。

问题在于,当“release/2”构建运行时,相关的更改会显示导致“release/2”的所有提交,包括导致“release/1”的提交。这在每个新版本中都会继续。

我认为它应该工作的方式是只显示当前构建和之前成功构建之间发生的更改。

对这个问题的任何见解将不胜感激。

重现此问题的步骤:

  1. 在 VSTS 中创建一个带有自述文件的 git repo
  2. 创建新的构建定义(空),将 'Get Sources' 步骤设置为您刚刚创建的 repo 并将分支设置为 master
    • 转到选项并将“自动链接此版本中的新工作”设置为启用
    • 转到“触发器”> 持续集成> 触发器状态> 启用> 分支过滤器> 将分支规范设置为“发布/*”(不包括单引号)
  3. 将新的 repo 克隆到您的计算机
  4. 创建一个将用于在 repo 中进行修改的文件,添加并提交该文件。例如我将使用 ver.txt
  5. 将更新的主分支推送到服务器 ( git push origin)
  6. 只需通过项目的 VSTS 构建区域排队即可执行第一次构建
  7. 创建第一个发布分支

    • git checkout -b release/1
    • 对 ver.txt 进行修改(我只是增加了值)
    • git commit -am "Updated to version 1"
    • git push origin release/1
    • 一旦这个分支被推送到服务器,就应该触发构建
    • 构建完成后,查看构建摘要 > 相关更改,请注意列出了此新存储库的所有提交
    • 将发布分支合并回 master
      • git checkout master
      • git merge release/1
      • git branch -d release/1
      • git push origin -d release/1 …

azure-devops azure-pipelines

7
推荐指数
1
解决办法
914
查看次数

VSTS/Azure Devops自动增量包版本

运行.Net核心任务到打包.如何将输出的nuget包版本提供给Auto Increment本身,格式为:

1.0.0

所以下次我打包/推送时我想看1.0.1

我正在使用Build.BuildNumber的环境构建变量并在以下时刻获取输出:

20180913-.2.0等想要纠正更传统的版本控制系统

谢谢.

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

7
推荐指数
3
解决办法
8493
查看次数

如何在 CI 服务器上安装 dotnet dev-certs 证书

我想使用 运行我的 API dotnet run,所以我可以针对它运行一些测试。但是,在 Azure Pipelines 和 AppVeyor 上,它们没有安装开发人员证书,当我尝试启动 API 时出现错误。安装开发人员证书涉及运行:

dotnet dev-certs https --trust
Run Code Online (Sandbox Code Playgroud)

但是,这会显示一个用户必须单击的对话框,这将导致构建失败。如何在 CI 服务器上安装开发者证书?

.net certificate dotnet-cli azure-pipelines dotnet-dev-certs

7
推荐指数
1
解决办法
1749
查看次数

Azure DevOps 无法从其自己的存储库下载工件

我正在尝试将项目从 Azure DevOps 发布到现场服务器。该项目构建良好 - 并在我设置管道以在正确的位置寻找工件后发布良好。

然而,似乎没有任何反应,当管道尝试下载工件时,我开始收到以下错误 getBuildAPI 失败并出现错误:错误:无法获得本地发行者证书错误:无法获得本地发行者证书

在此处输入图片说明

这样看来,Azure Pipelines 似乎无法读取它自己的神器,这似乎有点可笑。

通常,此类问题的根本原因是具有欺骗性的错误消息,但我终生无法弄清楚可能会发生什么。

什么可能导致这个问题?

更新- 管道在我尝试的每十次中大约工作一次,但从来没有连续两次。

azure-devops azure-pipelines

7
推荐指数
1
解决办法
1925
查看次数

如何替换 azure-pipelines.yaml 中的变量字符串?

我想设置VersionSuffixfromBuild.Sourcebranch但这失败了,因为SourceBranchcontains refs/heads/<branchname>

- task: DotNetCoreCLI@2
  condition: succeeded()
  inputs: 
    command: 'pack'
    versioningScheme: ByPrereleaseNumber
    majorVersion: '0' 
    minorVersion: '1' 
    patchVersion: '1' 
    packTimezone: 'utc' 
    buildProperties: VersionSuffix=$(Build.SourceBranch)-$(Build.BuildNumber)
Run Code Online (Sandbox Code Playgroud)

我只想在 中添加.Replace('/','_')一些类似的语句$(Build.SourceBranch),但在表达式语法中找不到任何关于如何执行此操作的内容。

发送另一个字符串(即VersionSuffixRaw)并在 .csproj 中创建VersionSuffixwith不起作用String.Replace;由于某种原因,它只是被忽略了。

注意:有Build.SourceBranchNamewhich 具有分支名称的最后一部分,因此如果SourceBranchis refs/heads/feature/fooSourceBranchName将是foo。但是,分支 namdfeature/JIRA-123_foo_unittest将不起作用,因为 _ 在版本字符串中无效。

string azure-pipelines

7
推荐指数
2
解决办法
7316
查看次数

如何在 Azure DevOps 中更改自定义版本名称?

我想V.1.0.00在 Azure DevOps 的持续交付中更改发布名称,例如手动发布,但如果没有这个$(rev:r),我将无法删除或更改命名,我该如何使用自定义名称?

默认名称: Release- $(rev:r)

必填名称: V.1.0.0

azure continuous-deployment devops azure-devops azure-pipelines

7
推荐指数
1
解决办法
6214
查看次数

如何获得天蓝色管道的代码覆盖率徽章

我已为 Azure Pipelines 中的自动构建配置了我的 github 项目。在“管道/构建/”下,我可以单击“...”并选择“状态徽章”。

在管道内部,已经测量了代码覆盖率:我可以选择一个特定的构建,然后转到“代码覆盖率”选项卡。但是,我找不到任何指向覆盖徽章的链接。它是由 Azure Devops 提供的吗?或者是否有任何与 Azure Devops 集成的免费工具来提供此功能?

code-coverage azure azure-devops azure-pipelines

7
推荐指数
1
解决办法
2453
查看次数

将 VS2017 Azure DevOps 管道迁移到 VS2019

我们有一个 VS 解决方案,目前在Azure DevOps上使用托管 VS2017代理。我们现在想将我们的解决方案升级到VS2019。但是,我看不到任何修改/更新Azure DevOps管道以使用windows-2019代理的方法。它似乎仅在创建新的Azure DevOps管道时可用。

有没有办法将我们当前的Azure DevOps VS2017 管道修改/更新为 2019 托管代理,而无需从头开始重新创建我们的管道?

更新

从下面的截图中可以看出,VS2019 没有出现在可用代理池的下拉列表中。

在此处输入图片说明

azure azure-devops azure-pipelines

7
推荐指数
1
解决办法
617
查看次数