Azure DevOps Pipeline任务UsePythonVersion@0的输入'githubToken'应该使用什么?

4
我有一个自托管的Azure DevOps Pipeline构建代理,并希望从Github存储库下载并安装Python,如果它尚未在代理工具目录中可用。
Azure DevOps管道任务UsePythonVersion@0的官方文档关于输入“githubToken”如下:
githubToken:#字符串。可选。当disableDownloadFromRegistry = false时使用GitHub操作python注册表的GitHub令牌。
我不熟悉GitHub操作,并且对我应该为githubToken输入提供什么感到困惑。 是PAT吗? 还是它指的是GITHUB_TOKEN? 我应该从哪里获取这样的令牌,以便我的管道可以成功从GitHub下载Python。
我目前遇到的错误是:
##[error]Failed to download Python from the Github Actions python registry (https://github.com/actions/python-versions). Error: Error: unable to get local issuer certificate
2个回答

2
[错误]无法从Github Actions Python注册表下载Python。
如果已经下载了文件,但是从下载的“.zip”存档中安装Python时出现错误,则可能会出现此错误。因此,需要提供完整的日志,而不仅仅是错误名称。
回到您的其他问题。要获取令牌,请打开“Github.com”:
  • 点击左上角带有您头像的图标
  • 在下拉菜单中选择“设置”
  • 在左侧底部,您将看到“开发人员设置”
  • 单击“个人访问令牌”,并创建任何两种令牌类型之一
或者尝试此网址: https://github.com/settings/tokens?type=beta

完整的日志在哪里可以找到? 顺便说一句,我知道如何在Github上创建PAT,这不是问题。 - oli

1

如果在Agent.ToolsDirectory中找不到Python版本,则此任务将失败。

要在自托管代理上使用此任务,您可以按照this link进行操作。

首先,您可以从Python.org下载适当的安装程序。

我下载了python-3.7.9-amd64.exe进行测试。

然后,您可以运行命令行(以管理员身份运行CMD)来安装Python:python-3.7.9-amd64.exe /quiet InstallAllUsers=0 TargetDir={agentinstallPath\_work\_tool}\Python\3.7.9\x64 Include_launcher=0

enter image description here

记得切换到包含python-3.7.9-amd64.exe的文件夹。 输入图像描述

最后,您需要创建一个空的{platform}.complete文件。

$AGENT_TOOLSDIRECTORY/
    Python/
        {version number}/
            {platform}/
                {tool files}
            {platform}.complete

enter image description here

重新启动自托管代理后,流水线运行正常。

steps:
- task: UsePythonVersion@0
  displayName: 'Use Python 3.7.9'
  inputs:
    versionSpec: 3.7.9

我知道可以按照您所描述的方式手动安装Python。但是我的理解是,通过将disableDownloadFromRegistry设置为__false__,可以从GitHub注册表自动下载。 这就是我想要实现的目标。我的理解是,然后需要提供githubToken输入。 - oli
1
你可以按照这个链接创建Github的个人访问令牌:githubToken - Jiawei Shi
请确认您的Python版本是否适用于Windows或Linux。 Python版本清单 - Jiawei Shi
您可以按照以下步骤为Github创建个人访问令牌,并将其添加到任务中的githubToken变量中。githubTokensteps: - task: UsePythonVersion@0 displayName: '使用 Python 3.6.8' inputs: versionSpec: 3.6.8 githubToken: '$(githubToken)' - Jiawei Shi
抱歉之前没有提到,但我原始帖子中显示的错误是针对版本3.x、平台设置为默认(x64)和githubToken: '$(PAT)'。 - oli

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接