在azuredevops yaml管道中,我们可以嵌套forloop吗?或多个for循环。
我的要求是通过映射的变量值迭代管道,这应该跨环境完成。
例如:在我的 ADO 存储库中,每个应用程序有 10 个文件夹,每个应用程序中每个环境有 4 个不同的变量模板文件,即“vars-development.yaml、vars-staging.yaml、vars-prod.yaml、vars-dr” .yaml”
我需要的是在每个环境特定变量模板中,我需要有不同的警报规则输入(每个环境会有多个警报)。变量.development.yaml
variables:
alert1:
environment: development
subscription: 'mysubscription'
resourceGroup: myrg
AlertRuleName: myalertrule
query:myquery
timeWindowInMinutes: 1
severity: 1
operator: GreaterThanOrEqual
threshold: 20
alert2:
environment: development
subscription: 'mysubscription'
resourceGroup: myrg
AlertRuleName: myalertrule
query:myquery
timeWindowInMinutes: 1
severity: 1
operator: GreaterThanOrEqual
threshold: 20
autoMitigate: false
etc.............
alertn:
Run Code Online (Sandbox Code Playgroud)
azure-pipeline.yaml
name: $(Build.SourceBranchName)-$(Build.BuildId)
trigger: none
parameters:
- name: appname
type: string
values:
- app1
- app2
- app3
- app4
- app5
- app5
stages:
- template: …Run Code Online (Sandbox Code Playgroud) azure-pipelines azure-pipelines-release-pipeline azure-pipelines-yaml
azure azure-devops azure-pipelines azure-aks azure-pipelines-yaml
我有一个包含几个 dotnet 项目的存储库,其中两个是 Web 项目,我需要指定要发布的项目。
我的 yaml 文件是:
trigger:
- master
pool:
vmImage: ubuntu-latest
steps:
- task: DotNetCoreCLI@2
inputs:
command: 'publish'
projects: '**/Squil.Web.csproj'
arguments: '-o $(Build.ArtifactStagingDirectory)'
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: web'
inputs:
PathtoPublish: '$(build.artifactstagingdirectory)'
Run Code Online (Sandbox Code Playgroud)
只要我只有一个 Web 项目,类似的东西就可以工作,但在将大多数 Blazor 相关内容分解到另一个项目中后Squil.Razor,它就不再起作用了:发布任务总是选择那个项目,即 Razor 类库。
我也尝试使用'Squil.Web'作为projects参数,但无论我在那里放什么,它都会被忽略。
我已经为此烦恼了好几个小时了。我发现了一个相关的问题,从中我得到了语法'**/Squil.Web.csproj',但这对我来说也不起作用。
我知道我可以使用 dotnet 命令行,但我宁愿使用该任务。
这是.NET 6。
还有什么可以尝试的?
我们正在使用 springboot、Jacoco 和 azure devops,如果代码覆盖率低于 70%,我们需要中断管道,我如何使用 azure pipeline 来实现这一点。请建议。
jacoco azure-devops azure-pipelines azure-devops-server-2019
我在 Azure Synapse 中创建了一个管道,它在每个活动中执行一个简单的复制活动。
当我使用调试测试管道时,管道运行成功。但是,在向管道添加触发器并将更改提交到 Azure DevOps 后,当我手动触发管道时,找不到管道。
尽管使用了 Azure DevOps,但我还是被要求“发布”管道。将更改提交到 Azure DevOps 后是否需要执行额外的步骤来发布管道触发器?
这是我的任务代码:
- task: PublishADFTask@1
displayName: 'Publish Datafactory'
inputs:
// inputs there
Run Code Online (Sandbox Code Playgroud)
但最新版本有一个bug 1.*。
这是在 azure devops yaml 管道中使用先前任务版本的方法吗?
我试过:
- task: PublishADFTask@1.27.1315
displayName: 'Publish Datafactory'
inputs:
// inputs there
Run Code Online (Sandbox Code Playgroud)
但这不起作用
我正在使用VSTS和构建任务FTP上传.将文件和文件夹上载到我的FTP服务器时,.git文件夹也始终复制到服务器.我试图用文件模式排除.git文件夹,如下所示:
**
!(**/.git/**)
Run Code Online (Sandbox Code Playgroud)
我不知道为什么它不起作用但有没有办法用minimatch模式告诉任务明确排除文件夹?
minimatch azure-devops azure-pipelines-build-task azure-pipelines
在部署方面,使用托管代理和私有代理有什么区别?
如果我错了,请纠正我-私有代理是一项私人托管的服务,它会不断检查是否有新的构建触发以对其配置定义执行的构建定义进行触发,然后从VSTS中提取源代码并在本地调用MSBuild那台机器。
如果在该构建定义中有要执行的PowerShell发布脚本,它也会运行该脚本-可以处理实际的部署等。
也许还有更多处理部署的方法,但是托管代理将如何工作?
为简单起见,让我们假设只要触发了新的构建,就应该将ASP.NET应用程序部署到IIS。
我创建了一个有效的Azure管道来构建我的代码库。
寻找一种通过API(最好是REST)触发Azure Pipelines构建的方法。如果无法使用REST,也许我可以尝试使用各种资源ID通过Azure Functions调用构建。我希望自己的存储库监视器发出一个API请求,该请求将在满足我的条件时触发构建。另一个问题-是否可以通过API设置“管道变量”-例如,我进行API调用,将值用作管道变量的值,然后触发构建。
谢谢
azure azure-devops azure-pipelines azure-pipelines-release-task
在azure devops构建管道上的“托管”和“托管VS2017”有什么区别?
azure azure-devops azure-pipelines azure-devops-hosted-agent
azure-pipelines ×10
azure-devops ×7
azure ×5
.net ×1
asp.net ×1
azure-aks ×1
azure-pipelines-release-pipeline ×1
azure-pipelines-release-task ×1
iis ×1
jacoco ×1
minimatch ×1
tfs ×1
tfs2017 ×1