标签: 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构建多个repos

我的团队使用VSTS进行Web项目的CI/CD.为了保持代码分离,我们为前端和后端使用了两个单独的存储库.

提出两个问题:

  1. 如何设置将两个存储库中的构建工件合并到一个版本中的构建?
  2. 如何单独从每个存储库触发此单个构建/发布过程?

azure-pipelines azure-pipelines-release-pipeline

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

发布代码覆盖率在TFS 2015/Visual Studio Team Services中无效(VS Online)

我使用"dotnet test"命令来运行测试(因为某些奇怪的原因,将它们作为"Visual Studio Test"步骤运行失败).我生成覆盖数据如下:

"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Dynamic Code Coverage Tools\CodeCoverage" collect /output:code.coverage dotnet test "test\path_to_unit_tests_project\project.json"
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Dynamic Code Coverage Tools\CodeCoverage" analyze /output:code.coverage.xml code.coverage
Run Code Online (Sandbox Code Playgroud)

我添加了"发布代码覆盖率结果"步骤.构建成功完成,但我在代码覆盖率部分看到"没有可用的构建代码覆盖率数据".同时我将*.coverage和*.coverage.xml视为附加工件.

是否可以使用来自外部代码覆盖工具(而不是VS测试步骤)的数据填充该部分?如果没有,是否可以创建一个显示自定义代码覆盖率报告的新选项卡(如下所示)? 在此输入图像描述

code-coverage tfsbuild tfs-2015 azure-devops azure-pipelines

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

从TFS 2017构建定义中的"复制文件"步骤中排除整个文件夹/内容

我正在努力获取TFS构建定义以从"复制文件"步骤中排除整个文件夹及其所有内容,如下所示: 在此输入图像描述

这基本上就是我要做的事情:

从以下位置复制除名为"node_modules"的文件夹以外所有内容 :

\\Test\Source
Run Code Online (Sandbox Code Playgroud)

至:

\\Test\Destination
Run Code Online (Sandbox Code Playgroud)

我需要排除的文件夹的路径是:

\\Test\Source\AppsJs\v3\node_modules
Run Code Online (Sandbox Code Playgroud)

我可以使用与上面相同的模式轻松地排除文件,但我无法弄清楚如何排除整个文件夹.

我也看到过一些建议也在使用-:,但是我无法让它工作.

我试着在这里查看 "复制文件"文档,并在这里这里阅读更多内容,但我仍然只是遗漏了一些东西.

任何帮助表示赞赏!

tfs tfsbuild azure-pipelines tfs2017

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

找不到VSTS指定的TypeScript编译器

我正在为使用TypeScript的项目使用VSTS。我们配置了一个CI构建,突然之间一个人今天停止工作。昨天一切都很好,今天他们都失败了。

查看构建日志后,我发现它找不到我们指定的TypeScript编译器:

警告:您的项目指定TypeScriptToolsVersion 2.1,但是找不到匹配的编译器。将使用最新的可用TypeScript编译器(2.4)。要消除此警告,请安装TypeScript 2.1 SDK或更新TypeScriptToolsVersion的值。

因此突然之间,它开始使用TypeScript 2.4进行编译,并且我们有一些与该版本不兼容的代码(Promises)。

我已经在.csproj中将TypeScript工具版本定义为

<TypeScriptToolsVersion>2.1</TypeScriptToolsVersion>
Run Code Online (Sandbox Code Playgroud)

当我读过它首先尝试使用的构建日志时,这似乎是有效的。

知道是什么导致VSTS突然“忘记”了TypeScript 2.1,如何解决此问题?我找不到任何更新通知或任何东西。

compiler-errors visual-studio typescript azure-pipelines

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

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

如何获取Azure DevOps托管代理的IP地址以添加到白名单

有没有办法运行正在运行的主机的IP地址范围?

这与发布管道->托管代理有关。

问题:由于防火墙拒绝连接,连接被拒绝访问。需要将此请求的IP地址范围列入白名单,这些请求来自DevOps上的发布管道。

azure-devops azure-pipelines

7
推荐指数
4
解决办法
6173
查看次数

Azure Dev Ops react-scripts 测试永远挂起

我正在尝试在 Azure Dev Ops 中运行我的 React 应用程序测试我不知道如何在测试运行后停止执行。它只是挂在那里,使管道永远处于运行模式。这是一个简单的 create-react-app 应用程序,它有几个测试。下面是我的管道的 YAML:

trigger: none

pool:
  vmImage: 'ubuntu-latest'

steps:
- task: NodeTool@0
  inputs:
    versionSpec: '10.x'
  displayName: 'Install Node.js'

- script: |
    npm install
    npm run build
  displayName: 'npm install and build'

- script: npm run citest

- task: PublishPipelineArtifact@0
  inputs:
    artifactName: 'react'
    targetPath: './build'
Run Code Online (Sandbox Code Playgroud)

我刚刚在测试步骤中使用了“- script: npm test”,但是,按照facebook github 中的说明我创建了一个新的测试脚本(称为 citest):set CI=true && react-scripts test a但它仍然不起作用。我在 dev ops 控制台中得到以下输出,并且任务一直在运行:

> set CI=true && react-scripts test a
PASS …
Run Code Online (Sandbox Code Playgroud)

yaml reactjs azure-devops azure-pipelines

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