标签: azure-pipelines

如何使用 Azure Devops CLI 下载构建工件?

我到目前为止使用scoop install azure-cli

az extension add -n azure-devops
az devops login
Run Code Online (Sandbox Code Playgroud)

但我不知道下一步该做什么。我正在寻找类似的东西来将文件的内容输出到标准输出

az pipeline build get_artifact --project-id=xxx --name=myCI --artifact=drop --path=docker-compose.yml -o -
Run Code Online (Sandbox Code Playgroud)

azure azure-devops azure-pipelines

2
推荐指数
1
解决办法
2366
查看次数

如何从 azure-pipeline.yml 中的另一个 yaml 文件设置变量

我有一个如下所示的environment.yml,我想读出名称变量(core-force)的内容并将其设置为我的azure-pipeline.yamal文件中的全局变量的值,我该怎么做?

name: core-force
channels:
  - conda-forge
dependencies:
  - click
  - Sphinx
  - sphinx_rtd_theme
  - numpy
  - pylint
  - azure-cosmos
  - python=3
  - flask
  - pytest
  - shapely
Run Code Online (Sandbox Code Playgroud)

在我的 azure-pipeline.yml 文件中我想要类似的东西

variables:
  tag: get the value of the name from the environment.yml aka 'core-force'
Run Code Online (Sandbox Code Playgroud)

yaml azure-devops azure-pipelines

2
推荐指数
1
解决办法
8456
查看次数

Azure DevOps 管道无法复制到 Azure 存储

我有一个管道,用于构建 Web 工件并尝试使用 Azure Pipelines 中提供的 Azure 文件复制任务将它们复制到我的 Azure 存储。过去 2 天我一直在尝试修复此 403 响应,指出存在权限错误。

  • 我有该管道的服务连接。
  • 服务连接应用程序注册在 API 权限中具有 Azure 存储的 user_impersonation
  • 服务连接应用程序注册具有目标存储帐户、资源组和订阅的“存储 Blob 数据贡献者”和“存储 Blob 数据所有者”。

在此输入图像描述

在此输入图像描述

在此输入图像描述

在此输入图像描述

azure azure-active-directory azure-devops azure-pipelines

2
推荐指数
1
解决办法
5552
查看次数

使用数据库文件在 Azure Devops 上运行测试

有没有办法使用其中一项任务在 Azure Devops 管道上创建数据库文件?

我的想法是在代理上创建一个 localdb(使用 VS)并在该数据库文件上运行单元测试(SSDT),就像我使用 VS 所做的那样。我可以创建数据库文件“工具”>“连接数据库”>“Sql 服务器数据库文件”并输入名称。我可以连接到它并运行测试。我似乎无法在 Azure DevOps 管道上执行此操作。

我知道首选方法是分配 Azure SQL 服务器并针对这些服务器运行测试,但数据库非常小,如果我可以针对数据库文件运行这些测试,这似乎是一个更好的主意。

c# unit-testing sql-server-data-tools azure-devops azure-pipelines

2
推荐指数
1
解决办法
2229
查看次数

Azure管道ARM部署任务YAML多行

是否可以在 Azure Pipelines 任务中的 YAML 中使用多行?例如,对于 ARM 部署任务,有一个overrideParameters属性。如果可以将其分成几行而不是将所有内容都放在一行中,那就太好了:

- task: AzureResourceManagerTemplateDeployment@3
          displayName: 'ARM deploy MyFunctionAPP'
          inputs:
            deploymentScope: 'Resource Group'
            azureResourceManagerConnection: ${{ parameters.serviceConnection }}
            subscriptionId: ${{ parameters.subscriptionId }}
            action: 'Create Or Update Resource Group'
            resourceGroupName: ${{ parameters.resourceGroupName }}
            location: 'West Europe'
            templateLocation: 'Linked artifact'
            csmFile: '$(ARMtemplatesPath)\MyFunctionAPP\template.json'
            csmParametersFile: '$(ARMtemplatesPath)\MyFunctionAPP\parameters.json'
            deploymentMode: 'Incremental'
            overrideParameters: '-environment_name ${{ parameters.environmentName }} -vnetAddressPrefix ${{ parameters.vnetAddressPrefix }} -subnet1Prefix ${{ parameters.subnet1Prefix }} -APIkey ${{ parameters.APIkey }} -queueName ${{ parameters.queueNameMyQueue }} -SendGridAPIkey ${{ parameters.SendGridAPIkey }} -StorageConnectionAppSetting ${{ …
Run Code Online (Sandbox Code Playgroud)

yaml azure-pipelines

2
推荐指数
1
解决办法
4680
查看次数

获取 Azure Pipelines 中的用户 ID

是否可以访问用户 ID 并在 Azure 管道 yaml 文件中使用它?我查看了内置变量,似乎没有包含其中。

azure-active-directory azure-devops azure-pipelines

2
推荐指数
1
解决办法
6681
查看次数

如何删除 Azure DevOps 上保存的管道模板

我已经创建了一个管道并保存了一个模板,如下面的链接所示。

现在如何删除已保存的模板?

另存为模板在 azure devops 管道中意味着什么

在此输入图像描述

多谢多谢!

azure-devops azure-pipelines-build-task azure-pipelines azure-pipelines-release-pipeline

2
推荐指数
1
解决办法
1158
查看次数

Azure DevOps Pipeline 仅在特定标签上运行

我有一个 Azure DevOps Pipeline,我只想在将特定标签推送到存储库时运行它,但由于某种原因它总是在每次提交时运行。

我的azure-pipelines.yml触发器设置如下:

trigger:
  tags:
    include:
      - mytag.*
Run Code Online (Sandbox Code Playgroud)

我还尝试排除所有分支:

trigger:
  branches:
    exclude:
      - "*"
  tags:
    include:
      - mytag.*
Run Code Online (Sandbox Code Playgroud)

似乎trigger设置的内容没有什么区别,它总是在每次提交时运行。

如何使其仅在推送标签时运行?

git azure-devops azure-pipelines

2
推荐指数
1
解决办法
5956
查看次数

如何为新管道指定不同的分支

我有一个分支,我喜欢用它来进行构建。当功能分支上的工作完成并且我准备好构建为开发时,我将合并到“dev”分支。

当我第一次开始使用管道向导时,它希望使用 master 分支作为源。我看不到任何地方可以指定不同的分支。我是否必须完成其余步骤,然后编辑 yaml 文件才能使用不同的分支?

[更新]
那么我应该将 yaml 文件保留在我想要构建/发布的同一分支中吗?在我的 yaml 文件中,我看到 CI 触发器的位置,我在其中放置了:

扳机:

  • 开发者

但 yaml 文件本身位于 master 分支中

我在获取源代码的工作步骤中看到了这一点:

From repo-url-here....
 * [new branch]      dev        -> origin/dev
 * [new branch]      master     -> origin/master
Run Code Online (Sandbox Code Playgroud)

azure-pipelines

2
推荐指数
1
解决办法
4538
查看次数

Azure Pipelines 合并未进行评估

我有我想要评估的模板coalesce(${{ parameters.pipeline }}, $(System.DefinitionId))

据我所知,这是正确的语法:

  - task: DownloadBuildArtifacts@0
    inputs:
      buildType: 'specific'
      project: '$(System.TeamProjectId)'
      pipeline: $[ coalesce(${{ parameters.pipeline }}, $(System.DefinitionId)) ]
      buildVersionToDownload: latestFromBranch
      branchName: $[ coalesce(${{ parameters.branchName }}, $(Build.SourceBranch)) ]
      allowPartiallySucceededBuilds: true
      downloadType: 'single'
      downloadPath: '$(Pipeline.Workspace)'
      artifactName: ${{ parameters.artifact }}
Run Code Online (Sandbox Code Playgroud)

但是,当我运行此命令时,我收到此错误:

定义名称 $[ coalesce(141, 342) ] 与有效定义不对应

认为这可能意味着它没有评估表达式并使用文字 string '$[ coalesce(141, 342) ]'

似乎Build.DefinitionId只在运行时可用,否则我会将参数默认设置为${{ Build.DefinitionId }},然后设置pipeline: ${{ parameters.pipeline }}

我已经尝试了十几种不同的变体$[ ],在. 它们都不起作用,但这个是最接近的,因为它实际上正确地替换了变量。${{ }}$( )coalesce()

有任何想法吗?

azure-devops azure-pipelines azure-pipelines-yaml

2
推荐指数
1
解决办法
3903
查看次数