Создание / настройка развертывания CI / CD Azure Devops для веб-приложения Azure с использованием шаблона ARM или C # Sdk - PullRequest
0 голосов
/ 08 июля 2019

Ниже команд при запуске из облачной оболочки , правильно настраивает CI / CD из проекта Azure DevOps .

az login

az webapp deployment source config --name "{azurewebappname}" --resource-group "{webappunderresourcegroupname}" --repository-type vsts --repo-url "https://{accountname}.visualstudio.com/{projectname}/_git/{reponame}" --branch master --cd-app-type AspNetCore --cd-project-url "https://{accountname}.visualstudio.com/{projectname}"  --subscription "{subscriptionid}"  --private-repo-password "{vsts-alias-username}" --private-repo-username "{vsts-alias-password}"

Я ищу эквивалентное решение через Шаблон ARM или C # SDK или REST API .

Документация Azure-Cli

ПРИМЕЧАНИЕ: я использую шаблон ARM через C #

Ответы [ 2 ]

0 голосов
/ 19 июля 2019

Через некоторое время после отладки Azure CLI в локальной системе при поиске запроса / ответа azure-cli отправляет / получает команду, о которой спрашивают, находящуюся ниже в потоке запросов - может помочь кому-нибудь.

# 1. Get tenant's access token - not covered here, check microsoft's ADAL documentation.
# 2. Get vsts access token
curl -X POST \
https://login.microsoftonline.com/common/oauth2/token \  
-H 'content-type: application/x-www-form-urlencoded' \  
-d 'grant_type=refresh_token&resource=499b84ac-1321-427f-aa17-267ca6975798&refresh_token={insert_tenant_refresh_token_here}&client_id=04b07795-8ddb-461a-bbee-02f9e1bf7b46'


# 3. Provision CI/CD configuration
curl -X POST 'https://{insert_azuredevops_account_name}.portalext.visualstudio.com/_apis/continuousdelivery/provisioningconfigurations?api-version=3.2-preview.1' \
 -H 'authorization: Bearer {insert_tenant_access_token_here}' \
 -H 'content-type: application/json' \
 -d '{"source": {"type": "codeRepository", "buildConfiguration": {"type": "AspNetCore"}, "repository": {"defaultBranch": "master", "type": "TfsGit", "id": "{insert_repository_id}"}}, "targets": [{"environmentType": "production", "authorizationInfo": {"scheme": "Headers", "parameters": {"Authorization": "Bearer {insert_vsts_access_token}"}}, "resourceGroupName": "{insert_webapp_resource_group_name}", "tenantId": "{insert_tenant_id}", "location": "Central India", "subscriptionName": "{insert_azure_webapp_subscription_name}", "provider": "azure", "friendlyName": "Production", "subscriptionId": "{insert_azure_webapp_subscription_id}", "resourceIdentifier": "{insert_azure_webapp_name}", "type": "windowsAppService"}], "ciConfiguration": {"project": {"name": "{insert_vsts_project_name}"}}}'

Удачи!

0 голосов
/ 12 июля 2019

Из C # есть рабочий пример кода здесь для развертывания шаблона ARM.В этом примере вы войдете в Azure, создадите группу ресурсов, развернете шаблон ARM, а затем удалите шаблон.

Обратите внимание, что этот образец получает учетные данные Azure из файла, используя AzureCredentialsFactory .Чтобы завершить авторизацию, я обнаружил, что проще всего создать субъект-службу, сохранить учетные данные в защищенном файле и использовать его в приложении.Пример рабочего кода см. [here][3].

. Примеры предварительно созданных шаблонов ARM см. На этой веб-странице, на которой есть ссылки на более 15 решений, которые можно развернуть непосредственно в Azure, по адресу: https://docs.microsoft.com/en-us/azure/app-service/samples-resource-manager-templates.

Мне кажется, что вас интересует следующее: здесь , которое развертывает веб-приложение, подключенное к хранилищу github.

...