【问题标题】:How do i identify my AzureDevOps id for a pipeline in ADO Pipelines?如何识别 ADO Pipelines 中管道的 AzureDevOps id?
【发布时间】:2019-06-30 23:21:21
【问题描述】:
【问题讨论】:
标签:
azure
azure-devops
azure-pipelines
【解决方案1】:
管道 ID 上有一个 existing 未解决的问题。
你提到的文档没有提供太多关于pipelineID的信息。
根据microsoft
pipelineId 似乎是 BuildId,而不是构建定义 ID。它
需要与工件关联的实际实例 ID。一世
能够通过引用绑定到的发布变量来完成这项工作
工件别名。我的别名被命名为“artifacts”并使用
$(RELEASE_ARTIFACTS_ARTIFACTS_BUILDID) 成功了。所以格式
应该是$(RELEASE_ARTIFACTS_<alias>_BUILDID)
如果您尝试在构建而不是发布管道中使用
你需要以某种方式获得$(Build.BuildId)的值
我希望随着它的成熟,有计划制作管道工件
在发布中自动从构建发布,就像它们一样
使用旧的 Build Artifacts 时。目前对我来说不是
发生了,所以我不得不手动将此步骤添加到我的版本中
管道并将其与构建管道相关联。
【解决方案2】:
我在我的 azure devops 管道中遇到了同样的问题,我不知道它是否适用于你,但这是我的解决方案:
有一个函数 az pipeline show 可以为您提供管道的 ID 及其名称:
Pipeline_to_find="$1"
pipelineInfo=$(az pipelines show --name "$Pipeline_to_find")
id=$(echo "$pipelineInfo" | python -c "import sys, json; print(json.load(sys.stdin)['id'])")
#export this var to be used in any other task of your pipeline
echo "##vso[task.setvariable variable=id;]$id"
【解决方案3】:
转到您想要的目标管道 -> 编辑。
检查网址。你有管道ID。
.../_apps/hub/ms.vss-build-web.ci-designer-hub?pipelineId=1234&branch=main
很抱歉,如果没有硬编码,我找不到合适的方法来引用它。
【解决方案4】:
以下命令使用 Azure CLI(带有 DevOps 扩展)和 jq 在 Bash shell 中获取管道 ID:
az pipelines show --name <PIPELINE_NAME> | jq -r .id
如果你想在 Azure Pipeline 中使用它,你需要使用 Azure CLI 任务并且可能在运行代理上安装 jq。
有关如何将 id 设置为管道中的变量,请参阅 ultimatom 的回答。