Развертывание веб-приложения в службах приложений Azure - с помощью подключения диспетчера ресурсов - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть конвейер Azure, который создает основной проект asp-net и создает из него образ докера и передает его в реестр контейнеров Azure.

Этот конвейер сделан из файла azure-pipelines.acr.yml.Каждая операция git push, которую я выполняю в своей ветке Deployments, превращается в новую сборку в мой конвейер.

До тех пор, пока здесь у меня нет конвейера 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.

Я пытаюсь этот процесс и у меня активна подписка Azure, но я не могу настроить соединение с ней.

Как настроить подключение к службе для подключения к Azure Resource Manager и возможноbe create my app service?

Идея состоит в том, чтобы сделать этот шаг, чтобы перейти к созданию моего конвейера выпуска с процессом CI, который я выполняю.

1 Ответ

0 голосов
/ 15 февраля 2019

вы ссылались на правильную ссылку документации https://docs.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' (но не идентификатор подписки в этом случае).Для иллюстрации, пожалуйста, используйте эту ссылку https://docs.microsoft.com/en-us/azure/devops/pipelines/library/service-endpoints?view=azure-devops#use-a-service-connection.

Опция # 2 : Если проблема подпадает под вариант № 2, то предоставьте ниже информацию, чтобы диагностировать проблему лучшепуть.

2а.Какой вариант вы использовали при создании подключения к услуге.Является ли это «Аутентификацией принципала службы» или «Аутентификацией по управляемому идентификатору»?

2b. Если это «Аутентификация субъекта службы», то какую опцию вы выбрали на «уровне области».Является ли это «Подписка» или «ManagementGroup»?

2c.Если это опция «Подписка» или «ManagementGroup», вы нажали «Использовать автоматизированную версию диалога подключения к услуге» и предоставили вседетали, а затем вы нажали «Подтвердить соединение»?И было ли соединение успешно проверено?

Надеюсь, это поможет !!Ура !!:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...