返回

在自托管代理上解决“UsePythonVersion”任务失败:你遇到的问题,我们有解答

Linux

在自托管代理上解决“UsePythonVersion@0”任务失败

问题

在自托管 Linux VM 代理上使用 Azure DevOps Pipelines 时,尝试从 GitHub Enterprise 拉取 Python 应用程序代码,但“UsePythonVersion”任务失败。该错误表明未提供 GitHub 令牌,且提供的 Python 版本(例如 3.6)与代理工具目录中的任何版本不匹配。

解决方案

要解决此问题,请按照以下步骤操作:

提供 GitHub 令牌

如果你要从 GitHub Actions Python 注册表下载 Python 版本,请提供 GitHub 令牌。这可以防止你遇到 GitHub 匿名下载限制。

安装 GitHub Actions 扩展

安装 Microsoft.github-actions 扩展以访问 GitHub Actions 工具,包括用于下载 Python 版本的“UsePythonVersion”任务。

在 YAML 文件中设置 GitHub 令牌

在你的 Azure DevOps YAML 文件中,设置“AzurePipelines.GitHub.Token”变量,其中包含 GitHub 令牌:

variables:
  AzurePipelines.GitHub.Token: $(GitHubPAT)

在“UsePythonVersion”任务中指定 GitHub 令牌

在你的“UsePythonVersion”任务中,指定“AzurePipelines.GitHub.Token”变量作为“Token”输入:

- task: UsePythonVersion@0
  inputs:
    versionSpec: '3.6'  # Use Python 3.x
    addToPath: true
    Token: $(AzurePipelines.GitHub.Token)

结论

按照这些步骤操作,你应该能够解决自托管代理上“UsePythonVersion”任务失败的问题。请务必根据需要进行调整,以满足你的特定管道需求。

常见问题解答

1. 我该如何获得 GitHub 令牌?

  • 创建一个 GitHub 个人访问令牌(PAT),并授予“读包”权限。

2. 我如何安装 GitHub Actions 扩展?

  • 使用 Azure Pipelines 的“管理”页面安装 Microsoft.github-actions 扩展。

3. 为什么我的代理没有足够的磁盘空间?

  • 检查代理的可用磁盘空间,并在必要时扩展它。

4. 为什么我仍然遇到错误?

  • 检查构建日志以获取更多详细信息。考虑增加构建日志的详细程度。

5. 我可以在哪里获得其他帮助?

  • 查看 Azure DevOps 文档或在 GitHub 上创建问题。