Создание среды и выбор ее в качестве целевой
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020
Среда — это коллекция ресурсов, предназначенных для развертываний из конвейера. Типичные примеры имен сред: Dev, Test, QA, Staging и Production. Среда Azure DevOps представляет логическую цель, в которой конвейер развертывает программное обеспечение.
Среды Azure DevOps недоступны в классических конвейерах. Для классических конвейеров группы развертывания предлагают аналогичные функциональные возможности.
Среды предоставляют следующие преимущества.
Преимущества | Description |
---|---|
Журнал развертывания | Имя конвейера и сведения о выполнении записываются для развертываний в среде и ее ресурсах. В контексте нескольких конвейеров, предназначенных для одной среды или ресурса, журнал развертывания среды полезен для идентификации источника изменений. |
Трассировка фиксаций и рабочих элементов | Просмотр заданий в конвейере, предназначенных для среды. Вы также можете просмотреть фиксации и рабочие элементы , которые были недавно развернуты в среде. Возможность трассировки также позволяет отслеживать, достигла ли среда изменения кода (фиксация) или компонента или исправления ошибок (рабочие элементы). |
Работоспособности диагностических ресурсов | Проверьте, работает ли приложение в нужном состоянии. |
Безопасность | Безопасные среды, указывая, какие пользователи и конвейеры разрешены для целевой среды. |
Хотя среда представляет собой группирование ресурсов, ресурсы сами представляют собой фактические целевые объекты развертывания. В настоящее время поддерживаются типы ресурсов Kubernetes и виртуальных машин.
При создании конвейера YAML и ссылке на среду, которая не существует, Azure Pipelines автоматически создает среду, когда пользователь, выполняющий операцию, известен и разрешения могут быть назначены. Если в Azure Pipelines нет сведений о создании среды пользователем (например, обновление YAML из внешнего редактора кода), конвейер завершается ошибкой, если среда еще не существует.
Необходимые компоненты
- Необходимо иметь роль создателя для сред , чтобы добавить среду.
Создать среду
Войдите в свою организацию
https://dev.azure.com/{yourorganization}
и выберите проект.Выберите "Создать>среду конвейеров".>
Введите сведения для среды и нажмите кнопку "Создать". Ресурсы можно добавить в существующую среду позже.
Используйте конвейер для создания и развертывания в средах. Дополнительные сведения см. в руководстве.
Совет
Вы можете создать пустую среду и ссылаться на нее из заданий развертывания. Это позволяет записывать журнал развертывания в среде.
Цель среды из задания развертывания
Задание развертывания — это коллекция шагов для последовательного выполнения. Задание развертывания можно использовать для целевой среды (группы ресурсов), как показано в следующем фрагменте КОДА YAML. Конвейер будет выполняться на компьютере myVM, так как указано имя ресурса.
- stage: deploy
jobs:
- deployment: DeployWeb
displayName: deploy Web App
pool:
vmImage: 'Ubuntu-latest'
# creates an environment if it doesn't exist
environment:
name: 'smarthotel-dev'
resourceName: myVM
resourceType: virtualMachine
strategy:
runOnce:
deploy:
steps:
- script: echo Hello world
Назначение определенного ресурса в среде из задания развертывания
Вы можете область целевой объект развертывания в определенном ресурсе в среде. Затем можно записать журнал развертывания в определенном ресурсе в среде. Шаги задания развертывания автоматически наследуют сведения о подключении службы от ресурса, предназначенного заданием развертывания.
environment:
name: 'smarthotel-dev.bookings'
strategy:
runOnce:
deploy:
steps:
- task: KubernetesManifest@0
displayName: Deploy to Kubernetes cluster
inputs:
action: deploy
namespace: $(k8sNamespace)
manifests: $(System.ArtifactsDirectory)/manifests/*
imagePullSecrets: $(imagePullSecret)
containers: $(containerRegistry)/$(imageRepository):$(tag)
# value for kubernetesServiceConnection input automatically passed down to task by environment.resource input
Сведения о среде выполнения
Все среды, предназначенные для заданий развертывания определенного запуска конвейера, можно найти на вкладке "Среды " сведений о выполнении конвейера.
Если вы используете частный кластер AKS, вкладка "Среды " недоступна.
Утверждения
Управление выполнением этапа вручную с помощью проверка утверждений. Используйте проверка утверждения для управления развертываниями в рабочих средах. Проверки доступны владельцу ресурса, чтобы контролировать, когда этап в конвейере использует ресурс. Как владелец ресурса, например среды, можно определить утверждения и проверка, которые должны быть удовлетворены перед началом этапа использования этого ресурса.
Мы поддерживаем проверка утверждения вручную в средах. Дополнительные сведения см. в Утверждения.
Создатель, Администратор istrator и роли пользователей могут управлять утверждениями и проверка. Роль читателя не может управлять утверждениями и проверка.
Журнал развертывания
Представление журнала развертывания в средах обеспечивает следующие преимущества.
Просмотр заданий из всех конвейеров, предназначенных для конкретной среды. Например, два микрослужбы, каждый из которых имеет собственный конвейер, развертывается в одной среде. Список журналов развертывания помогает определить все конвейеры, влияющие на эту среду, а также визуализировать последовательность развертываний по каждому конвейеру.
Подробные сведения о задании см. в списке фиксаций и рабочих элементов, развернутых в среде. Список фиксаций и рабочих элементов — это новые элементы между развертываниями. Первый список включает все фиксации, и следующие списки будут просто включать изменения. Если несколько фиксаций привязаны к одному запросу на вытягивание, вы увидите несколько результатов на рабочих элементах и вкладках изменений.
Если несколько рабочих элементов привязаны к одному запросу на вытягивание, на вкладке рабочих элементов появится несколько результатов.
Безопасность
Разрешения пользователей
Управление тем, кто может создавать, просматривать, использовать среды и управлять ими с разрешениями пользователей. Существует четыре роли - Creator (область: все среды), читатель, пользователь и Администратор istrator. На панели разрешений пользователя конкретной среды можно задать наследуемые разрешения и переопределить роли для каждой среды.
- Перейдите в определенную среду , которую требуется авторизовать.
- Выберите >"Безопасность", чтобы просмотреть параметры.
- Выберите разрешения> пользователя+Добавить>пользователя или группу, а затем выберите подходящую роль.
Роль | Description |
---|---|
Автор | Глобальная роль, доступная из параметра безопасности центра сред. Члены этой роли могут создавать среду в проекте. Участники добавляются в качестве участников по умолчанию. Требуется для активации конвейера YAML, если среда еще не существует. |
Читатель | Члены этой роли могут просматривать среду. |
Пользователь | Члены этой роли могут использовать среду при создании или редактировании конвейеров YAML. |
Администратор | Члены этой роли могут администрировать разрешения, создавать, управлять, просматривать и использовать среды. Для конкретной среды его создатель добавляется как Администратор inistrator по умолчанию. Администратор istrator также может открывать доступ к среде ко всем конвейерам. |
Важно!
При создании среды только создатель имеет роль администратора.
Роль | Description |
---|---|
Автор | Глобальная роль, доступная из параметра безопасности центра сред. Члены этой роли могут создавать среду в проекте. Участники добавляются в качестве участников по умолчанию. Требуется для активации конвейера YAML, если среда еще не существует. |
Читатель | Члены этой роли могут просматривать среду. |
Пользователь | Члены этой роли могут использовать среду при создании или редактировании конвейеров YAML. |
Администратор | Помимо использования среды, члены этой роли могут управлять членством во всех остальных ролях для среды. Создатели добавляются как члены по умолчанию. |
Разрешения конвейера
Используйте разрешения конвейера для авторизации всех или выбранных конвейеров для развертывания в среде.
- Чтобы удалить открытый доступ в среде или ресурсе, выберите "Ограничить разрешение " в разрешениях конвейера.
- Чтобы разрешить развертывание определенных конвейеров в среде или конкретном ресурсе, выберите и выберите + из списка конвейеров.
Следующие шаги
Определение утверждений и проверок
Вопросы и ответы
Вопрос. Почему при попытке создать среду возникает сообщение об ошибке?
Ответ. Если появится сообщение "Доступ запрещен: {User} требуется создать разрешения для выполнения действия", проверка разрешения на уровне организации. Перейдите в раздел Параметры организации>Пользователи и проверьте, если у вас есть роль заинтересованного лица. Роль заинтересованного лица не может создавать среды. Измените уровень доступа и проверьте, можете ли вы создавать среды. Дополнительные сведения см. в статье Часто задаваемые вопросы об управлении пользователями и разрешениями.
Вопрос. Почему я получаю ошибку "Job XXXX: Environment XXXX не удалось найти. Среда не существует или не авторизована для использования"?
Ответ. Ниже приведены некоторые из возможных причин сбоя:
При создании конвейера YAML и ссылке на среду, которая не существует в ФАЙЛЕ YAML, Azure Pipelines автоматически создает среду в некоторых случаях:
- Вы используете мастер создания конвейера YAML в веб-интерфейсе Azure Pipelines и ссылаетесь на среду, которая еще не создана.
- Вы обновляете файл YAML с помощью веб-редактора Azure Pipelines и сохраняете конвейер после добавления ссылки на среду, которая не существует.
В следующих потоках Azure Pipelines не содержит сведений о создании среды пользователем: вы обновляете YAML-файл с помощью другого внешнего редактора кода, добавьте ссылку на среду, которая не существует, а затем приводит к активации конвейера непрерывной интеграции вручную или непрерывной интеграции. В этом случае Azure Pipelines не знает о пользователе. Ранее мы обрабатывали этот случай, добавив всех участников проекта в роль администратора среды. После этого любой участник проекта может изменить эти разрешения и запретить другим пользователям доступ к среде.
Переменные можно использовать для создания среды или использования templateContext для передачи свойств шаблонам. Параметры среды выполнения не будут работать при создании среды, так как они развернуты во время выполнения.
Пользователь с уровнем доступа заинтересованных лиц не может создать среду, так как заинтересованные лица не имеют доступа к репозиторию.
Связанные статьи
Кері байланыс
https://aka.ms/ContentUserFeedback.
Жақында қолжетімді болады: 2024 жыл бойы біз GitHub Issues жүйесін мазмұнға арналған кері байланыс механизмі ретінде біртіндеп қолданыстан шығарамыз және оны жаңа кері байланыс жүйесімен ауыстырамыз. Қосымша ақпаратты мұнда қараңыз:Жіберу және пікірді көру