gpt4 book ai didi

azure - 将 Web 应用程序部署到 Azure 应用服务 - 使用资源管理器连接

转载 作者:行者123 更新时间:2023-12-03 17:30:42 25 4
gpt4 key购买 nike

我有一个 Azure 管道,它构建一个 ASP-NET Core 项目,并从中构建一个 Docker 镜像,并将其推送到 Azure 容器注册表。

此管道由 azure-pipelines.acr.yml 文件组成。我对 Deployments 分支执行的每个 git Push 操作都会将其转入我的管道的新构建中。

到目前为止,我有一个 CI 管道,以便将主分支中的每个新更改集成到我的管道中。

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

enter image description here

我一直在阅读,我需要使用我的 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.

我正在尝试 this process 并且有一个处于事件状态的 Azure 订阅,但是我无法设置与其的连接。

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

我们的想法是执行此步骤,以便通过我正在执行的 CI 流程进一步创建我的发布管道。

最佳答案

您引用了正确的文档链接 https://learn.microsoft.com/en-us/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://learn.microsoft.com/en-us/azure/devops/pipelines/library/service-endpoints?view=azure-devops#use-a-service-connection 链接。

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

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

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

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

希望这有帮助!干杯!! :)

关于azure - 将 Web 应用程序部署到 Azure 应用服务 - 使用资源管理器连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54652664/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com