标签: azure-pipelines

发布后如何获取Azure数据工厂参数到ARM模板参数文件(ARMTemplateParametersForFactory.json)中

我正在尝试为 Azure 数据工厂创建我的 Azure DevOps 发布管道。

我遵循了 Microsoft ( https://docs.microsoft.com/en-us/azure/data-factory/continuous-integration-deployment ) 关于向 ARM 模板添加额外参数的相当神秘的指南发布(https://docs.microsoft.com/en-us/azure/data-factory/continuous-integration-deployment#use-custom-parameters-with-the-resource-manager-template

arm-template-parameters-definition.json在 master 分支的路由中创建了一个文件。当我做一个发布,则ARMTemplateParametersForFactory.jsonadf_publish分支保持完全不变。我尝试了很多配置。

我在数据工厂中定义了一些管道参数,并希望它们在我的部署管道中是可配置的。对我来说似乎是一个明显的要求。

我错过了一些基本的东西吗?请帮忙!

JSON 如下:

{
    "Microsoft.DataFactory/factories/pipelines": {
        "*": {
            "properties": {
                "parameters": {
                        "*": "="                
                }
            }
        }
    },
    "Microsoft.DataFactory/factories/integrationRuntimes": {
        "*": "="
    },
    "Microsoft.DataFactory/factories/triggers": {},
    "Microsoft.DataFactory/factories/linkedServices": {},
    "Microsoft.DataFactory/factories/datasets": {}
}
Run Code Online (Sandbox Code Playgroud)

azure azure-data-factory azure-devops azure-rm-template azure-pipelines

9
推荐指数
2
解决办法
6809
查看次数

ARM 错误的 VSTS 管道部署:找不到任何与模板文件模式匹配的文件

我正在尝试在 VSTS 管道中部署 Azure ARM 脚本。

我在构建步骤中“发布”了工件并在发布步骤中下载了工件。日志似乎表明它找到了ARM脚本(经过多次反复试验。这里找到的规定方式似乎根本不起作用)。

但是我收到错误:找不到与模板文件模式匹配的任何文件

顺便说一句,即使找不到文件,我也会收到此错误(这是有道理的..但当它确实找到文件时不会)。当我在 Azure 门户中手动部署时,ARM 脚本会正确部署。

我在发布管道中使用Azure 资源组部署步骤。

我不确定还有哪些其他信息可以帮助解决此问题,但请求并希望我可以将其提供给您。

谢谢

2018-12-14T18:32:06.6009951Z ##[section]Starting: Azure Deployment:Create Or Update Resource Group action on ChrisGroup
2018-12-14T18:32:06.6015952Z 

==============================================================================
2018-12-14T18:32:06.6016124Z Task         : Azure Resource Group 
Deployment
2018-12-14T18:32:06.6016287Z Description  : Deploy an Azure resource manager (ARM) template to a resource group. You can also start, stop, delete, deallocate all Virtual Machines (VM) in a resource group
2018-12-14T18:32:06.6016444Z Version      : 2.141.4
2018-12-14T18:32:06.6016526Z Author       : Microsoft Corporation
2018-12-14T18:32:06.6016655Z …
Run Code Online (Sandbox Code Playgroud)

azure-resource-manager azure-devops azure-pipelines

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

Azure Devops 禁用在同一管道上的并发运行

我在 azure devops 中有 2 个构建代理和 8 个管道。如果为管道 A 启动了一个运行,并且为同一管道触发了另一个运行,Azure Devops 将在另一个代理上启动第二个运行,而无需等待第一个代理完成。

如何让 Azure Devops 等到第一次运行完成后再开始第二次运行?

编辑:使用 yaml 管道而不是旧的构建/发布管道。

azure-devops azure-pipelines

9
推荐指数
4
解决办法
5620
查看次数

##[错误]在以下环境变量中找不到版本号数据: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
查看次数

Azure DevOps:如何为不同的测试(.net core、angular)合并两个代码覆盖率报告

我们在管道中有两种不同类型的测试:单元(.net 核心)和前端(角度/业力)。他们每个人都可以通过“PublishCodeCoverageResults@1”发布代码覆盖率报告,但只有一个正面或背面。这取决于最后运行的测试。我认为最后的报道 owerwrites 以前。但是我们需要同时发布代码覆盖率。

有没有办法合并 2 个覆盖率报告,然后在一个代码覆盖率选项卡中发布它们或添加第二个选项卡?

unit-testing code-coverage karma-coverage azure-devops azure-pipelines

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

从 Azure DevOps Release Pipeline 调用控制台应用程序

尝试拥有在本地安装了部署代理的 Azure DevOps 发布管道,以有权访问本地数据库的特定用户身份运行控制台应用程序。

这是工作流程

Azure 发布管道调用-> 本地代理运行-> PS 脚本运行-> 控制台 exe

我正在通过以下内联脚本在管道中使用 PowerShell 任务:

$CMD = '$CMD = 'C:\ScheduledScripts\Adm\SpecToHobImport\SpecToHobImport.exe''
$user = $Env:userid
$password = $Env:pass
$dates = '$(startDate) $(endDate)'

$securePassword = ConvertTo-SecureString $password -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential $user, $securePassword

Start-Process -FilePath $CMD -Credential $credential -ArgumentList "$(startDate) $(endDate)" 
Run Code Online (Sandbox Code Playgroud)

我知道用户 ID 和密码以及命令行参数正在正确传递,但无论控制台应用程序多么简单,当代理运行 powershell 脚本时它都会崩溃。我尝试在各种服务帐户(系统、管理员等)下运行 DevOps 代理服务,我可以在安装了代理的服务器上手动运行脚本,并且脚本和控制台应用程序手动运行良好。

当我运行 Release 管道时,它会在 DevOps 中报告它运行成功,我只能从代理服务器上的 Windows 事件日志中检测到控制台应用程序已运行并立即崩溃。

我在 EventLog 中得到以下两个条目:

Faulting application name: conhost.exe, version: 6.3.9600.17415, time stamp: 0x5450410b
Faulting module name: USER32.dll, …
Run Code Online (Sandbox Code Playgroud)

console powershell azure-devops azure-pipelines azure-pipelines-release-pipeline

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

Azure Pipelines:批量批准部署到环境

有没有办法通过 CLI 或 API(或其他任何东西)批准运行?我正在寻找一种方法来批量批准来自不同管道的多次运行,但它在 UI 中不可用。

假设我有 100 个管道,它们具有到生产环境的部署作业。我想批准所有等待批准的运行。

目前,我在 Azure DevOps REST API 或 CLI 的文档中找不到类似的内容。

功能文档:https : //docs.microsoft.com/en-us/azure/devops/pipelines/process/environments https://docs.microsoft.com/en-us/azure/devops/pipelines/process/approvals

以下问题是相关的,但我正在寻找解决它的任何方法,但不仅仅是通过 API: 使用 REST api 在 Azure DevOps 中批准 yaml 管道部署

azure-devops azure-pipelines

9
推荐指数
2
解决办法
1046
查看次数

Azure Devops UnitTest 未找到“.deps.json”文件

我创建了一个 asp.net core webapi 项目并为其创建了一个对应的 xUnitTest。当我在本地机器上运行 UnitTest 时,UnitTest 运行没有任何问题。我将 XUnit 与它的visualstudio runner 一起使用。以下是我的 UnitTest 项目的参考资料:

<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="3.1.3" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.5.0" />
<PackageReference Include="Moq" Version="4.13.1" />
<PackageReference Include="xunit" Version="2.4.1" />
<PackageReference Include="xunit.assert" Version="2.4.1" />
<PackageReference Include="xunit.extensibility.core" Version="2.4.1" />
<PackageReference Include="xunit.extensibility.execution" Version="2.4.1" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.1" />
Run Code Online (Sandbox Code Playgroud)

当我现在通过 Azure Devops 运行单元测试时,它们运行成功并给出以下输出:

Created test run: 156
Publishing test results: 35
Publishing test results to test run '156'.
TestResults To Publish 35, Test run id:156
Test results publishing 35, remaining: 0. Test …
Run Code Online (Sandbox Code Playgroud)

xunit .net-core azure-devops asp.net-core azure-pipelines

9
推荐指数
2
解决办法
2470
查看次数

我可以在 Azure Pipelines 中对变量进行子串吗?

我正在寻找一种在我的azure-pipelines.yml文件中定义变量的方法,我可以在其中对'Build.SourceVersion'-> 仅使用前 7 个字符进行子串。

文档中似乎没有可以执行此类字符串操作的内置函数。有什么我想念的吗?

我的另一种方法是使用 bash 任务并覆盖那里的变量,但找到可以做到这一点的内置方法将是更好的解决方案。

azure-devops azure-pipelines azure-pipelines-yaml

9
推荐指数
2
解决办法
5115
查看次数

无法在管道中构建 .Net 5

两周前我使用 .Net 5 RC2 创建了一个新的解决方案。我已将其升级到新版本 (5.0.0)。我正在尝试创建一个标准的 ASP.Net 管道来构建它,代理池是 Azure Pipelines,代理规范我已经尝试了 windows-2019 和 vs2017-win2016。两者都给出与下面相同的错误 为什么它试图使用 2.1?

Checking compatibility for System.Composition.AttributedModel 1.0.31 with .NETFramework,Version=v5.0 (win7-x86).
Checking compatibility for System.Composition.Runtime 1.0.31 with .NETFramework,Version=v5.0 (win7-x86).
Checking compatibility for System.Composition.TypedParts 1.0.31 with .NETFramework,Version=v5.0 (win7-x86).
Incompatible packages: 4
Committing restore...
Generating MSBuild file D:\a\1\s\XXX\obj\XXX.csproj.nuget.g.props.
Generating MSBuild file D:\a\1\s\XXX\obj\XXX.csproj.nuget.g.targets.
Writing lock file to disk. Path: D:\a\1\s\XXX\obj\project.assets.json
Writing cache file to disk. Path: D:\a\1\s\XXX\obj\XXX.csproj.nuget.cache
Restore failed in 38.96 sec for D:\a\1\s\XXX\XXX.csproj.
NuGet Config files used:
D:\a\1\Nuget\tempNuGet_3.config
Feeds used: …
Run Code Online (Sandbox Code Playgroud)

.net azure azure-devops azure-pipelines

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