gpt4 book ai didi

azure - 如何在同一 Azure 项目中的管道之间传输 Azure Pipelines 中的项目?

转载 作者:行者123 更新时间:2023-12-02 07:05:20 28 4
gpt4 key购买 nike

我正在尝试设置 Azure Pipelines,以便为此处的各种平台生成 Idris 1 二进制文件:https://github.com/zenntenn/Idris-dev从 head 并使用它为各种平台构建 Idris 2 head: https://github.com/zenntenn/Idris2

我的问题是我不知道如何正确配置两个管道以使其工作。

我一直在尝试遵循此处的文档:

https://learn.microsoft.com/en-us/azure/devops/pipelines/artifacts/pipeline-artifacts?view=azure-devops&tabs=yaml

我不知道如何获取使其适用于 Idris 2 所需的确切 YAML。

Idris 1 管道在这里:https://dev.azure.com/zentenca/Idris/_build?definitionId=2

Idris 2 管道在这里:https://dev.azure.com/zentenca/Idris/_build?definitionId=1

这是我当前的 Idris 1 azure-pipelines.yml 的相关部分:

  # Test on Linux
- job: Linux
pool:
vmImage: 'ubuntu-16.04'
steps:
- script: |
echo Collection ID is $(System.CollectionId)
sudo add-apt-repository ppa:hvr/ghc
sudo apt-get update
sudo apt-get install ghc-8.2.2 cabal-install-2.2
sudo update-alternatives --config opt-ghc
sudo update-alternatives --config opt-cabal
displayName: 'Prepare system'
- script: |
export PATH=/opt/ghc/bin:$HOME/.cabal/bin:$PATH
cabal update
CABALFLAGS="-fffi -fci" make
displayName: 'Build Idris'
- script: |
export PATH=/opt/ghc/bin:$HOME/.cabal/bin:$PATH
make test_c
displayName: 'Run tests'
- publish: $(System.DefaultWorkingDirectory)/
artifact: LinuxHead

这是我目前拥有的 Idris 2 的 azure-pipelines.yml:

# Build Idris 2 from Idris 1.  Idris 1 located here: https://github.com/idris-lang/Idris-dev
jobs:
# Linux build using the latest Idris 1
- job: Linux_Latest
pool:
vmImage: 'ubuntu-16.04'
steps:
- task: DownloadPipelineArtifact@2
inputs:
source: 'specific'
artifact: LinuxHead
project: e3cceb10-4a17-48c7-a9b8-72264bd71a81
pipelineid: 2
runVersion: 'latest'
- script: |
echo Works so far
displayName: 'Linux build using the latest Idris 1'

我试图以一种可以在 Idris 2 管道中访问它们的方式显示 Idris 1 的构建结果。

当前错误是:“输入字符串的格式不正确。”

如果在 Idris 2 azure-pipelines.yml 中我将 pipelineid: 更改为 pipeline: 我收到错误:

“TF50309:以下帐户没有足够的权限来完成该操作:Idris Build Service (zentenca)。执行此操作需要以下权限:查看项目级信息。”

使用管道的示例构建结果:在这里:https://dev.azure.com/zentenca/Idris/_build/results?buildId=35&view=results

最佳答案

"Input string was not in a correct format."

出现此错误消息的原因是您使用的参数不正确。例如,您应该使用 buildType 而不是 source 来指定下载生成的工件的类型。

要获得正确的格式,请在 Idris 2 的 azure-pipelines.yml 中尝试以下脚本:

steps:
- task: DownloadPipelineArtifact@2
displayName: 'Download Pipeline Artifact'
inputs:
buildType: specific
project: 'e3cceb10-4a17-48c7-a9b8-72264bd71a81'
definition: {definitionid}
buildVersionToDownload: latest
artifactName: LinuxHead

注意:definition 的值是您要下载工件的构建的 definitionid

关于azure - 如何在同一 Azure 项目中的管道之间传输 Azure Pipelines 中的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57137369/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com