我正在尝试从Azure运营模式服务在Azure应用服务上部署docker容器。我已将docker映像推送到Azure容器注册表。当我尝试创建发布定义时,我找不到Azure容器注册表的服务连接。我已经为ACR创建了服务连接,但它没有显示在Azure运营模式门户的列表中。
当我选择“Azure 容器存储库”作为源类型时,服务连接在下拉框中不可见。我正在使用多克枢纽作为另一种选择。它在列表中显示服务连接。
我为ACR创建服务连接的步骤如下:
更新
我通过提供订阅id和租户id,使用托管身份认证为Azure资源管理器创建了服务连接。我正在尝试在神器设置中使用这种连接。我得到了以下错误。
找不到给定服务连接的名称endpoint.serviceprincipalid变量。
它无法从ACR中提取docker图像。App服务的日志显示存储库的拉取访问被拒绝。
服务连接问题已解决,但面临来自应用程序服务的docker权限问题
2020-02-10 12:31:11.781 INFO - Pulling image from Docker hub:
kbdockerregis/kbdockerimage:15
2020-02-10 12:31:14.406 ERROR - DockerApiException: Docker API responded with
status code=NotFound, response={"message":"pull access denied for
kbdockerregis/kbdockerimage, repository does not exist or may require 'docker
login': denied: requested access to the resource is denied"}
2020-02-10 12:31:14.408 ERROR - Image pull failed: Verify docker image
configuration and credentials (if using private repository)
2020-02-10 12:31:14.412 INFO - Stoping site kbapp1 because it failed during
startup.
当我选择“Azure容器存储库”作为源类型时,服务连接在下拉框中不可见。
对于第一个问题,这是因为当您选择ACR作为发布源时,我们的系统使用的api如下所示:
https://dev.azure.com/{org}/{project}/_apis/serviceendpoint/endpoints? type=azurerm
可以看到这个api附加的参数是< code>type=azurerm。它仅获取类型为< code>Azure资源管理器的服务连接。但是容器注册不属于此。
因此,您最好创建并使用类型为< code>Azure资源管理器类型的服务连接。
找不到给定服务连接的名称endpoint.serviceprincipalid变量。
对于第二个问题,没有从您那里得到太多信息(例如检查股权跟踪)。因此,根据我的已知情况,我建议您将类型从托管身份身份验证
更改为服务主体身份验证
。然后按照此文档进行配置。
这样更安全,可以先授权。
服务主体客户端id,它是您在Azure应用注册中创建应用后的应用id:
服务主体密钥:
堆栈溢出是一个开放的论坛,分享一些我需要并用于从后端调查的关键信息(尤其是Fiddler跟踪)并不安全。你最好去这里,因为你可以在那里选择Microsoft Only。如果可能的话,我可以去那个社区,让那个社区的工程师给我看。这样我就可以继续挖掘它。
我有一个非常奇怪(我想很容易解决)的问题:)我试图在Azure中有一个工作的CI/CD管道。为此,我在Azure devops中创建了一个存储库,并创建了构建和发布管道。我将docker图像发布到Azure容器注册表,在发布期间,我将拉出这个图像(或者至少--我正在尝试,因为它不起作用),并试图将它发布到Webapp for Containers上。在我的例子中,“应用程序”是。NET Core3
这是一个ASP。生成时没有错误的NET Core 3.0项目,但当它触发管道以发布到Azure App Service时,它失败,并出现以下错误: 2019-11-10t 23:09:23.8008460 z # #[错误]错误:未找到指定模式:D的包:\a\r1\a***。活力 需要做什么来修复发布管道?管道版本将最新的构建作为它的工件。
当您选择此选项时,将生成 yaml 文件,如下所示: 在此 yaml 文件中,您可以定义从还原开始的整个部署周期
我试图在Azure devops中创建一个发布管道来部署api。 当我试图授权部署阶段时,会出现以下错误。没有任何真正有助于解决的信息。任何建议都很感激。我是订阅的所有者。
我需要一个计数器,每次发布时,每个阶段都会上升。在构建管道中有计数器支持(https://docs.microsoft.com/en-us/azure/devops/pipelines/process/variables?view=vsts 一种解决方法是从发布名称中解析出发布号,并将其用作计数器。但是解析字符串很难看,它只在每个新版本中递增,而不是在每个特定阶段递增(例如,我希望“dev”和“p
我正在尝试在Azure DevOps(内部部署)中配置发布管道以支持git流策略。我正在努力实现的目标: promise“发布/*”触发软件的构建并发布到QA的位置 promise“主控”从步骤1获取相同的软件构建(工件),并发布到生产位置 因此,当我做一个git-flow开始发布时,软件可用于测试/质量保证,当我完成发布时,它可供用户使用。 我的构建管道工作正常,它由发布分支触发,并以发布工件任