将Web应用程序部署到Azure App Services-使用资源管理器连接

垃圾的

我有一个Azure管道,该管道构建一个asp-net核心项目并从中构建一个docker映像,并将其推送到Azure容器注册表。

该管道由azure-pipelines.acr.yml文件组成。我对Deployments分支执行的每个git push操作都将其以新的构建形式转换到我的管道中。

直到这里,我都有一个CI管道,以便将master分支中的每个新更改集成到我的管道中。

但是,在完成每个构建之后,我必须运行该映像的新实例,并将其推送到我的容器注册表中,并将其部署为新的App服务,所有这些过程都可以通过Azure门户服务手动进行。

在此处输入图片说明

我一直在阅读,这是我需要使用Azure管道执行连续部署。在我的azure-pipelines.acr.yml我有以下步骤CI流水线的工作流程:

pool:
  vmImage: 'ubuntu-16.04' # other options: 'macOS-10.13', 'vs2017-win2016'

variables:
  buildConfiguration: 'Release'
  imageName: 'zcrm365:$(Build.BuildId)'
  dockerId: 'zcrm365' # This is my registry name access key
  dockerPassword: 'my password' # Password access key  
  # I should create an environment variables to dockerId and dockerPassword


steps:
# Build a docker image
- script: |
    docker build -t $(dockerId)/$(imageName) -f ZAccountSyncService/Dockerfile .  # add options to this command to meet your needs 
    docker build -t $(dockerId).azurecr.io/$(imageName) -f ZAccountSyncService/Dockerfile .
    docker login -u $(dockerId) -p $(dockerPassword) $(dockerId).azurecr.io
    docker images
    docker push $(dockerId).azurecr.io/$(imageName)


##### DEPLOY A WEB APP ########
- script: dotnet publish --output $(Build.ArtifactStagingDirectory)  

# Publish the output of our build to Azure Pipelines
- task: PublishBuildArtifacts@1

- task: DotNetCoreCLI@2
  inputs:
    command: publish
    # our repository seems has no web project
    publishWebProjects: False
    # We should specify your .csproj in project(s) option.
    projects: "" 
    arguments: '--configuration $(BuildConfiguration) --output $(Build.ArtifactStagingDirectory)'
    zipAfterPublish: True



# CREATING AN Azure App Service Deploy task 

- task: AzureRmWebAppDeployment@3 
  inputs:
    # Is this my ID Subscription? 
    azureSubscription: '4e65758d-dbf5-456f-bb55-6b92273772dd'

    WebAppName: 'zcrm-365'
    Package: $(System.ArtifactsDirectory)/**/*.zip 

并且,在我的构建管道中,出现以下输出错误:

Job Job: Step input azureSubscription references service connection ID SUBSCRIPTION which could not be found. The service connection does not exist or has not been authorized for use. For authorization details, refer to https://aka.ms/yamlauthz.

我正在尝试此过程,并且我有一个Azure订阅处于活动状态,但是我无法建立与其的连接。

如何设置服务连接以连接到Azure资源管理器,并可能创建我的应用程序服务?

进行此步骤的目的是为了使用我正在执行的CI流程前进到创建发布管道。

克里希纳-MSFT

您指的是正确的文档链接https://docs.microsoft.com/zh-cn/azure/devops/pipelines/library/connect-to-azure?view=azure-devops通过创建新服务来建立连接连接。

根据您的构建管道错误“服务连接不存在或未被授权使用”,该问题应属于以下情况之一。

#1您尚未创建名称为“ 4e65758d-dbf5-456f-bb55-6b92273772dd”的服务连接。

#2您创建的服务连接无权连接到预期的Azure订阅。

选项1

如果问题属于选项#1,请更新您的yml文件azureSubscription: 'YOURSERVICECONNECTIONNAME'(在这种情况下,不是订阅ID)。有关说明,请参阅此https://docs.microsoft.com/zh-cn/azure/devops/pipelines/library/service-endpoints?view=azure-devops#use-a-service-connection链接。

选项2:如果问题属于选项2,请提供以下信息,以更好地诊断问题。

2a。创建服务连接时遵循的选项。是“服务主体身份验证”还是“托管身份验证”?

2b。如果是“服务主体身份验证”,那么您在“范围级别”选择了什么选项。是“订阅”还是“管理组”?

2c。如果是“订阅”或“管理组”选项,是否单击了“使用服务连接对话框的自动化版本”并提供了所有详细信息,然后单击了“验证连接”?连接是否成功验证?

希望这可以帮助!!干杯!!:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Azure资源管理器-无法在访问策略中使用Microsoft App Service部署Keyvault

代表Azure AD Multitenant App的Azure资源管理器

资源管理器在我的应用中使用

Azure资源管理器

如何在Azure资源管理器模板中为Azure功能配置App Service托管证书?

Azure CosmosDB查询资源管理器与数据资源管理器

使用ARM模板和GitHub Actions将.NET Core应用程序部署到Azure Web App

取消Azure资源管理器部署

使用参数化的 Azure 资源管理器连接字段创建任务组很热吗?

管理Azure资源管理器存储Powershell

连接到Azure数据库时的SSMS对象资源管理器选项

Azure数据资源管理器数据连接DataFormat

是否不赞成使用Azure管理库而推荐使用Azure资源管理器?

无法创建Azure资源管理器项目

Azure Devops Pipeline构建资源管理器

Azure资源管理器模板HostingEnvironment

Azure资源管理器::嵌套模板

Azure 数据资源管理器删除恢复

Azure资源管理器警报创建

Azure 资源管理器模板

Azure 数据资源管理器限制

如何使用Azure资源管理器模板创建虚拟应用程序/文件夹?

如何将PowerShell嵌入资源管理器或类似资源管理器的工具?

Azure资源管理器模板网站应用程序设置

如何使用Azure资源管理器模板获取Azure Maps帐户的主键

更改“资源管理器”程序,现在无法使用计算机

使用Azure New Rest API(资源管理器)发出发布请求

使用Azure资源管理器模板配置CORS

使用 Kusto 在 Azure 数据资源管理器中聚合/汇总时间序列数据