Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Вы можете настроить непрерывное развертывание из GitHub, Bitbucket и репозиториев Azure с помощью службы приложений Azure, которая извлекает последние обновления. Это руководство предоставляет вам все, что необходимо для начала работы.
Подготовка репозитория
Чтобы получить автоматические сборки с сервера сборки Службы приложений, убедитесь, что корневой каталог репозитория содержит правильные файлы в проекте.
Режим выполнения | Файлы в корневом каталоге |
---|---|
ASP.NET (только для Windows) |
*.sln , *.csproj или default.aspx . |
ASP.NET Core |
*.sln или *.csproj . |
PHP |
index.php . |
Ruby (только для Linux) |
Gemfile . |
Node.js |
server.js , app.js или package.json с начальным скриптом. |
Питон |
*.py , requirements.txt или runtime.txt . |
HTML |
default.htm , default.html , default.asp , index.htm , index.html , или iisstart.htm . |
ВебДжобс |
<job_name>/run.<extension> в разделе App_Data/jobs/continuous для непрерывных веб-заданий или App_Data/jobs/triggered для триггерных веб-заданий. Дополнительную информацию можно найти в документации по веб-заданиям Kudu. |
Функции | Ознакомьтесь с разделом Непрерывное развертывание для Функций Azure. |
Чтобы настроить развертывание, добавьте файл в корневой .deployment
каталог репозитория. См. сведения о настройке развертываний и настраиваемом скрипте развертывания.
Подсказка
Visual Studio может создать репозиторий для вас. С помощью этого метода проект сразу же готов к развертыванию с помощью Git.
Настройка источника развертывания
На портале Azure перейдите в область управления для приложения службы приложений.
В меню слева выберите Центр развертывания. Затем выберите Параметры.
В поле "Источник " выберите один из вариантов непрерывного развертывания (CI/CD ):
Чтобы продолжить, выберите вкладку, соответствующую поставщику сборки.
GitHub Actions является поставщиком сборки по умолчанию. Чтобы изменить поставщика, выберите Change provider>App Service Build Service>OK.
При первом развертывании из GitHub выберите Авторизовать и следуйте запросам авторизации. Чтобы развернуть из репозитория другого пользователя, выберите "Изменить учетную запись".
После авторизации учетной записи Azure с помощью GitHub выберите соответствующую организацию, репозиторий и филиал.
Если вы не можете найти организацию или репозиторий, возможно, потребуется включить дополнительные разрешения на GitHub. Дополнительные сведения см. в статье Управление доступом к репозиториям организации.
В разделе " Тип проверки подлинности" выберите назначаемое пользователем удостоверение для повышения безопасности. Дополнительные сведения см. в разделе часто задаваемые вопросы.
Примечание.
Если у вашей учетной записи Azure есть необходимые разрешения для варианта идентификации пользователя, Azure создает пользовательскую управляемую идентификацию для вас. Если у вас нет необходимых разрешений, обратитесь к администратору Azure, чтобы создать удостоверение с требуемой ролью в приложении, а затем выберите его в раскрывающемся списке.
(Необязательно) Чтобы просмотреть файл перед сохранением изменений, выберите файл предварительного просмотра. Служба приложений выбирает шаблон рабочего процесса на основе параметра стека языка приложения и фиксирует его в выбранном репозитории GitHub.
Выберите Сохранить.
Новые коммиты в выбранном репозитории и ветке теперь непрерывно разворачиваются в вашем приложении службы приложений. Фиксации и развертывания можно отслеживать на вкладке Журналы.
Отключение непрерывного развертывания
На портале Azure перейдите на страницу управления для вашего приложения Службы приложений.
В меню слева выберите Центр развертывания. Затем выберите Параметры>Отсоединить.
Файл рабочего процесса GitHub Actions сохраняется в репозитории по умолчанию, но он продолжает запускать развертывание в приложении. Чтобы удалить его из репозитория, выберите Удалить файл рабочего процесса.
Нажмите ОК.
Что такое поставщики сборок?
В зависимости от источника развертывания в Центре развертывания может появиться несколько вариантов поставщика сборки. Поставщики сборок помогают создавать решение непрерывной интеграции и непрерывной доставки (CI/CD) с помощью Службы приложений Azure путем автоматизации сборки, тестирования и развертывания.
Вы не ограничены параметрами поставщика сборки, найденными в Центре развертывания, но с помощью службы приложений вы можете быстро настроить их и получить некоторые интегрированные возможности ведения журнала развертывания.
Поставщик сборки GitHub Actions доступен только для развёртывания в GitHub. При настройке из центра развертывания приложения поставщик сборок настраивает CI/CD путем депозита файла рабочего процесса GitHub Actions в репозиторий GitHub, который обрабатывает задачи сборки и развертывания в Службе приложений.
Для базовой аутентификации добавляется профиль публикации вашего приложения в качестве секрета GitHub. Файл рабочего процесса использует этот секрет для проверки подлинности в Службе приложений. Сведения о назначаемом пользователем удостоверении см. в разделе "Что делает опция 'удостоверение, назначаемое пользователем' для GitHub Actions?"
Он записывает сведения из журналов выполнения рабочего процесса и отображает его на вкладке "Журналы " в Центре развертывания.
Вы можете настроить поставщик сборки GitHub Actions следующими способами.
- Вы можете настроить файл рабочего процесса после его создания в репозитории GitHub. Дополнительные сведения см. в статье о синтаксисе рабочего процесса для GitHub Actions. Просто убедитесь, что рабочий процесс развертывается в Служба приложений с использованием действия
azure/webapps-deploy
. - Если выбранная ветвь защищена, вы по-прежнему можете просмотреть файл рабочего процесса без сохранения конфигурации, а затем вручную добавить его в репозиторий. Этот способ не обеспечивает интеграцию журналов с порталом Azure.
- Вместо использования базовой проверки подлинности или удостоверения, назначаемого пользователем, можно также выполнять развертывание с использованием учетной записи службы в Microsoft Entra ID. Этот метод не может быть настроен на портале.
Что происходит с моим приложением во время развертывания?
При использовании официально поддерживаемых методов развертывания изменения вносятся в файлы в папке приложения /home/site/wwwroot
. Эти файлы используются для запуска приложения. Развертывание может завершиться ошибкой из-за заблокированных файлов. Кроме того, из-за неодновременного обновления всех файлов приложение может вести себя непредсказуемо во время развертывания. Такое поведение нежелательно для приложения, с которым работают клиенты.
Существует несколько способов избежать этих проблем:
- Запустите приложение непосредственно из ZIP-архива, не распаковывая его.
- На время развертывания остановите приложение или переведите его в автономный режим. Дополнительные сведения см. в разделе Устранение проблем из-за заблокированных файлов при развертывании.
- Выполняйте развертывание в промежуточном слоте с включенной автоматической подкачкой.
Часто задаваемые вопросы
- Работает ли поставщик сборок GitHub Actions с базовой проверкой подлинности, если обычная проверка подлинности отключена?
- Что делает опция идентификации, назначаемая пользователем, для GitHub Actions?
- Почему отображается сообщение об ошибке "Эта учетная запись не имеет разрешений на запись в этом приложении." Пожалуйста, выберите другую учетную запись или работайте с вашим администратором, чтобы назначить вашей учетной записи роль Участника веб-сайта в этом приложении.
- Почему появляется сообщение об ошибке "Это удостоверение не имеет разрешений на запись в этом приложении?" Пожалуйста, выберите другую учетную запись или работайте с вашим администратором, чтобы назначить вашей учетной записи роль Участника веб-сайта в этом приложении.
Работает ли поставщик сборок GitHub Actions с базовой проверкой подлинности, если обычная проверка подлинности отключена?
Нет. Попробуйте использовать GitHub Actions с параметром удостоверения, назначаемого пользователем.
Дополнительные сведения см. в разделе "Развертывание без базовой проверки подлинности".
Какие функции выполняет опция назначенного пользователем удостоверения для GitHub Actions?
Когда вы выбираете назначенную пользователем идентификацию в источнике GitHub Actions, App Service настраивает все необходимые ресурсы в Azure и GitHub. Служба приложений включает рекомендуемую проверку подлинности Microsoft OpenID Connect с помощью GitHub Actions.
В частности, Служба приложений выполняет следующие операции:
- Создает федеративные учетные данные между управляемым удостоверением, назначенным пользователем, в Azure и выбранным репозиторием и ветвью в GitHub.
- Создает секреты
AZURE_CLIENT_ID
иAZURE_TENANT_ID
AZURE_SUBSCRIPTION_ID
из федеративных учетных данных в выбранном репозитории GitHub. - Присваивает идентификатор вашему приложению.
В рабочем процессе GitHub Actions в вашем репозитории GitHub вы можете использовать Azure/login
действие для аутентификации вашего приложения с помощью OpenID Connect. Примеры см. в статье "Добавление файла рабочего процесса в репозиторий GitHub".
Если у вашей учетной записи Azure есть необходимые разрешения, Служба приложений создает управляемое удостоверение, назначаемое пользователем, и настраивает его для вас. Это идентификация не отображается на странице идентификаций вашего приложения. Если у вашей учетной записи Azure нет необходимых разрешений, необходимо выбрать существующее удостоверение с требуемой ролью.
Почему отображается сообщение об ошибке "У вас нет достаточных разрешений для назначения доступа на основе ролей управляемому удостоверению и настройке федеративных учетных данных"?
Сообщение указывает, что ваша учетная запись Azure не имеет необходимых разрешений для создания пользовательского управляемого удостоверения для GitHub Actions. Необходимые разрешения (область действия приложения) :
Microsoft.Authorization/roleAssignments/write
Microsoft.ManagedIdentity/userAssignedIdentities/write
По умолчанию роли администратора доступа пользователей и владельца уже имеют эти разрешения, но у роли участника нет этих разрешений. Если у вас нет необходимых разрешений, обратитесь к администратору Azure, чтобы создать управляемое удостоверение, назначаемое пользователем, с ролью участника веб-сайтов. В Центре развертывания можно выбрать удостоверение в раскрывающемся списке GitHub>Identity .
Дополнительные сведения об использовании альтернативных шагов см. в статье "Развертывание в службе приложений" с помощью GitHub Actions.
Почему отображается сообщение об ошибке "Это удостоверение не имеет разрешений на запись в этом приложении. Пожалуйста, выберите другую учетную запись или работайте с вашим администратором, чтобы назначить вашей учетной записи роль Участника веб-сайта в этом приложении.
Сообщение указывает, что выбранное управляемое удостоверение, назначаемое пользователем, не имеет требуемой роли для включения OpenID Connect между репозиторием GitHub и приложением Служба приложений. Идентификатор должен иметь одну из следующих ролей в приложении: владелец, контрибьютор или контрибьютор вебсайтов. Наименее привилегированная роль, необходимая для удостоверения, это редактор веб-сайтов.