az login 从 github 操作任务失败

Posted

技术标签:

【中文标题】az login 从 github 操作任务失败【英文标题】:az login fails from github action task 【发布时间】:2021-12-18 20:37:32 【问题描述】:

我正在尝试创建一个将基础设施和我的系统部署到 Azure 的 GitHub 操作。要登录,我使用像这样的天蓝色登录操作:

- name: Azure Login
  uses: azure/login@v1.4.0
  with:
    creds: $ secrets.AZURE_CREDENTIALS 

为此,您必须首先在 Azure 中创建服务主体,并将机密作为机密存储在您的 GitHub 存储库中。我使用az ad sp create-for-rbac 命令巧妙地创建了一个sp 并定义了足够的权限和所有权限(如here 所述),但是......我不能再使用--sdk-auth 标志,因为它已被弃用。我不知道此标志是否有所不同,但 Azure CLI 输出的 JSON 对象与以前的版本相比有所不同。此命令输出的 (JSON) 对象如下所示:


  "appId": "guid",
  "displayName": "Name I gave the app in the az ad sp create for RBAC command",
  "name": "guid",
  "password": "very-secret-string",
  "tenant": "guid"

这似乎是某种新对象,因为在以前的版本中,该对象看起来略有不同。之前版本的 AZ CLI 输出的对象如下所示:


    "clientId": "guid",
    "clientSecret": "super-secret-string",
    "subscriptionId": "guid",
    "tenantId": "guid"

现在,我的 GH Actions 工作流程中的登录操作不再起作用,我迫切需要它;)

我还尝试创建联合凭据,但没有结果。现在,老实说,我没有想法,我可以使用一些不同的见解。

【问题讨论】:

你可以在 GitHub 上打开一个问题:Azure/login 【参考方案1】:

工作人员上安装的 Azure CLI 版本似乎存在问题。

根据 GH 的问题,这个问题现在已经解决,以后不会再发生了:https://github.com/Azure/cli/issues/56#issuecomment-965186851

针对任何进一步的不匹配问题发布了长期修复程序。 现在 azcliversion 的默认值动态指向安装在代理上的版本。因此,除非有人明确提到最新的,否则不会再出现不匹配的情况。如果由于某种原因代理上没有 az cli 版本,则操作会退回到最新版本。

大部分托管代理也更新到 2.30.0。

请测试您的场景,如果您遇到任何问题,请告诉我们。

【讨论】:

谢谢 Jan,你是个传奇人物...一如既往

以上是关于az login 从 github 操作任务失败的主要内容,如果未能解决你的问题,请参考以下文章

任务 ':app:compileDebugJavaWithJavac' 执行失败。安卓工作室 [关闭]

将私有 github 存储库设置为 docker 中 package.json 中的依赖项在 github 操作中生成失败

用于配置 Azure Function App TLS/SSL“仅 HTTPS”设置的 Az CLI

ncode控件使用总结

ncode控件使用总结

ncode控件使用总结