gpt4 book ai didi

Python 包在 Azure DevOps 工件中发布 : 'D:\a\1\a' is empty. 不会添加任何内容来构建工件

转载 作者:行者123 更新时间:2023-12-02 07:54:21 25 4
gpt4 key购买 nike

A.使用 twine 验证我的 Python 包并将其发布到 Azure Artifacts feed

     - task: CmdLine@2
displayName: Build Artifacts
inputs:
script:
echo Building distribution package
python -m pip install --upgrade twine build setuptools
python -m build

- task: TwineAuthenticate@1
inputs:
artifactFeed: ddey-feed
- script:
python -m twine upload -r "ddey-feed" --config-file $(PYPIRC_PATH) dist/*.whl

B.虽然运行成功了,但是我在Artifacts中没有得到任何包。我发现警告:'D:\a\1\a' 为空。不会添加任何内容来构建工件

C.我做了一些研究,并决定添加额外的部分来执行复制和发布

          - task: CopyFiles@2
displayName: 'Copy Files to: $(build.artifactstagingdirectory)'
inputs:
SourceFolder: '$(Build.SourcesDirectory)'
Contents: |
**/*
!.git/**/*
TargetFolder: '$(Build.ArtifactStagingDirectory)'
condition: succeededOrFailed()

- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: drop'
inputs:
PathtoPublish: '$(build.artifactstagingdirectory)'
condition: succeededOrFailed()

任何人都可以评论我还可以在 yaml 文件中修改哪些内容以使该包在 Artifacts 中可用吗?

建议后尝试过的不同事情:

  1. 添加Tree command查看所有构建文件夹以确认文件的生成:

enter image description here

<强>2。删除源文件夹并让它使用默认源后 enter image description here

成功构建并使用: enter image description here

工件已生成,我可以从管道中看到它。 enter image description here

问题陈述

在“工件”选项卡中,我在任何提要中都看不到可用的构建。如何将构建与特定提要 (ddey-feed) 连接。我认为 TwineAuthenticate 应该处理它。

enter image description here

最佳答案

好的。我终于解决了整个问题,并且可以将包部署到 Artifacts Feed。

重点学习:

  • 创建 Artifacts Feed 时,请务必检查权限。添加Allow project-scoped builds否则会得到permission error从 Azure 管道推送包
  • 您需要定义PYPIRC_PATH指向 .pypirc 文件所在的位置。这可以使用如下所示的环境变量设置来完成
- script: |
echo "$(PYPIRC_PATH)"

python -m twine upload -r ddey-feed --verbose --config-file $(PYPIRC_PATH) dist/*
displayName: 'cmd to push package to Artifact Feed'
env:
PYPIRC_PATH: $(Build.SourcesDirectory)
  • 确保 Twine Authenticate Feed 名称与 twine upload 匹配饲料名称。如果管道无法推送包,您可以尝试直接从存储库运行以下命令:twine upload -r ddey-feed --config-file ./.pypirc dist/它应该成功地将构建上传到 Artifacts。

  • 出于调试目的,打印目录。

    echo "Structure of work folder of this pipeline:"

    tree $(Agent.WorkFolder)\1 /f

    echo "Build.ArtifactStagingDirectory:"

    echo "$(Build.ArtifactStagingDirectory)"

    echo "Build.BinariesDirectory:"

    echo "$(Build.BinariesDirectory)"

    echo "Build.SourcesDirectory:"

    echo "$(Build.SourcesDirectory)"
  • 管道组件摘要

enter image description here

关于Python 包在 Azure DevOps 工件中发布 : 'D:\a\1\a' is empty. 不会添加任何内容来构建工件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68448480/

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