我正在尝试为 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.json在adf_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
我正在尝试在 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 devops 中有 2 个构建代理和 8 个管道。如果为管道 A 启动了一个运行,并且为同一管道触发了另一个运行,Azure Devops 将在另一个代理上启动第二个运行,而无需等待第一个代理完成。
如何让 Azure Devops 等到第一次运行完成后再开始第二次运行?
编辑:使用 yaml 管道而不是旧的构建/发布管道。
我使用下面的 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
我们在管道中有两种不同类型的测试:单元(.net 核心)和前端(角度/业力)。他们每个人都可以通过“PublishCodeCoverageResults@1”发布代码覆盖率报告,但只有一个正面或背面。这取决于最后运行的测试。我认为最后的报道 owerwrites 以前。但是我们需要同时发布代码覆盖率。
有没有办法合并 2 个覆盖率报告,然后在一个代码覆盖率选项卡中发布它们或添加第二个选项卡?
unit-testing code-coverage karma-coverage azure-devops azure-pipelines
尝试拥有在本地安装了部署代理的 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
有没有办法通过 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 管道部署
我创建了一个 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) 我正在寻找一种在我的azure-pipelines.yml文件中定义变量的方法,我可以在其中对'Build.SourceVersion'-> 仅使用前 7 个字符进行子串。
文档中似乎没有可以执行此类字符串操作的内置函数。有什么我想念的吗?
我的另一种方法是使用 bash 任务并覆盖那里的变量,但找到可以做到这一点的内置方法将是更好的解决方案。
两周前我使用 .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) azure-devops ×10
azure-pipelines ×10
azure ×2
.net ×1
.net-core ×1
asp.net-core ×1
azure-pipelines-release-pipeline ×1
console ×1
nuget ×1
powershell ×1
unit-testing ×1
xunit ×1