Упражнение. Настройка среды Azure DevOps

Завершено

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

Чтобы настроить систему, выполните следующие действия.

  • Добавьте пользователя, чтобы убедиться, что Azure DevOps может подключиться к подписке Azure.
  • Настройте проект Azure DevOps для этого модуля.
  • В Azure Boards переместите рабочий элемент для этого модуля в столбец "Выполнение ".
  • Создайте среды службы приложение Azure с помощью Azure CLI в Azure Cloud Shell.
  • Создайте переменные конвейера, определяющие имена сред Служба приложений.
  • Создайте подключение к службе, позволяющее Azure Pipelines безопасно получить доступ к подписке Azure.

Добавление пользователя в Azure DevOps

Чтобы завершить этот модуль, вам потребуется собственная подписка Azure. Вы можете бесплатно приступить к работе с Azure.

Хотя для работы с Azure DevOps не требуется подписка Azure, в этом модуле вы будете использовать Azure DevOps для развертывания ресурсов, существующих в подписке Azure. Чтобы упростить процесс, следует использовать одну и ту же учетную запись Майкрософт для входа в подписку Azure и организацию Azure DevOps.

Если вы используете разные учетные записи Майкрософт для входа в Azure и Azure DevOps, добавьте пользователя в организацию DevOps в учетной записи Майкрософт, которую вы используете для входа в Azure. Дополнительные сведения см. в разделе "Добавление пользователей в организацию или проект". При добавлении пользователя выберите уровень доступа "Базовый".

Затем выйдите из Azure DevOps и снова войдите в учетную запись Майкрософт, используемую для входа в подписку Azure.

Получение проекта Azure DevOps

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

Модули в этом пути обучения являются частью прогресса, который следует веб-команде Tailspin через свое путешествие DevOps. Для обучения каждый модуль имеет связанный проект Azure DevOps.

Запуск шаблона

Запустите шаблон, который настраивает организацию Azure DevOps.

На сайте демонстрационного генератора Azure DevOps выполните следующие действия, чтобы запустить шаблон.

  1. Выберите вход и примите условия использования.

  2. На странице "Создание проекта" выберите свою организацию Azure DevOps, а затем введите имя проекта, например Space Game - web - Nonfunctional test.

    Screenshot for Creating a project through the Azure DevOps Demo Generator.

  3. Выберите "Да", я хочу вилку этого репозитория, а затем нажмите кнопку "Авторизовать".

  4. Выберите "Создать проект".

    Выполнение шаблона занимает несколько минут.

  5. Выберите "Перейти к проекту ", чтобы перейти к проекту в Azure DevOps.

Внимание

Страница Очистка среды Azure DevOps в этом модуле содержит важные инструкции по очистке. Очистка позволяет гарантировать, что вам хватит бесплатных минут сборки. Обязательно выполните действия по очистке, даже если не завершите этот модуль.

Настройка видимости проекта

Изначально для вашего вилки репозитория Space Game на GitHub установлено общедоступное значение, пока для проекта, созданного шаблоном Azure DevOps, задано частное значение. Доступ к общедоступный репозиторий на GitHub можно получить любым пользователям, в то время как частный репозиторий доступен только для вас, и пользователи, с которыми вы хотите поделиться им. Аналогичным образом, в Azure DevOps общедоступные проекты предоставляют доступ только для чтения пользователям, не прошедшим проверку подлинности, в то время как частные проекты требуют предоставления пользователям доступа и проверки подлинности для доступа к службам.

На данный момент не требуется изменять какие-либо из этих параметров в целях этого модуля. Однако для личных проектов необходимо определить видимость и доступ, которые вы хотите предоставить другим пользователям. Например, если проект открытый код, вы можете сделать репозиторий GitHub и проект Azure DevOps общедоступным. Если проект является закрытым, обычно вы сделаете репозиторий GitHub и проект Azure DevOps закрытым.

Далее вы можете найти следующие ресурсы, которые помогут определить, какой вариант лучше всего подходит для вашего проекта:

Локальная настройка проекта

Здесь вы загружаете проект Space Game в Visual Studio Code, настраиваете Git, клонируйте репозиторий локально и установите вышестоящий удаленный, чтобы можно было скачать начальный код.

Примечание.

Если вы уже настроили проект mslearn-tailspin-spacegame-web-deploy локально, вы можете перейти к следующему разделу.

Открытие интегрированного терминала

Visual Studio Code поставляется с интегрированным терминалом. Здесь можно редактировать файлы и работать из командной строки.

  1. Запустите Visual Studio Code.

  2. В меню "Вид" выберите терминал.

  3. В раскрывающемся списке выберите Git Bash. Если вы знакомы с другой оболочкой Unix, которую вы предпочитаете использовать, выберите эту оболочку.

    A screenshot of Visual Studio Code showing the location of the Git Bash shell.

    В окне терминала можно выбрать любую оболочку, установленную в вашей системе. Например, можно выбрать Git Bash или PowerShell или другую оболочку.

    Здесь вы будете использовать Git Bash, часть Git для Windows, что упрощает выполнение команд Git.

    Примечание.

    В Windows, если вы не видите Git Bash в списке в качестве параметра, убедитесь, что вы установили Git, а затем перезапустите Visual Studio Code.

  4. Выполните команду cd, чтобы перейти в каталог, в котором вы будете работать. Выберите свой домашний каталог (~) или другой каталог, если хотите.

    cd ~
    

Настройка Git

Если вы не знакомы с Git и GitHub, сначала выполните несколько команд, чтобы связать удостоверение с Git и пройти проверку подлинности с помощью GitHub. Дополнительные сведения см. в разделе "Настройка Git".

Как минимум, необходимо выполнить следующие действия. Выполните команды из интегрированного терминала.

  1. Задайте имя пользователя.
  2. Задайте адрес электронной почты фиксации.
  3. Кэшируйте пароль GitHub.

Примечание.

Если вы уже используете двухфакторную проверку подлинности с GitHub, создайте личный маркер доступа. При появлении запроса используйте маркер вместо пароля.

Обратитесь к маркеру доступа как к паролю. Держите его в безопасном месте.

Настройка проекта в Visual Studio Code

В приложениях сборки с помощью схемы обучения Azure DevOps вы клонировали и клонировали репозиторий Git. Репозиторий содержит исходный код для веб-сайта Space Game . Ваш вилку был подключен к вашим проектам в Azure DevOps, чтобы сборка выполнялась при отправке изменений в GitHub.

Внимание

В этой схеме обучения мы переключимся на другой репозиторий Git, mslearn-tailspin-spacegame-web-deploy. При запуске шаблона для настройки проекта Azure DevOps процесс автоматически закрепил репозиторий.

В этой части клонируйте вилку локально, чтобы можно было изменить и построить конфигурацию конвейера.

Клонирование вилки локально

Теперь у вас есть копия веб-проекта Space Game в вашей учетной записи GitHub. Теперь вы скачайте или клонируете копию на компьютер, чтобы вы могли работать с ней.

Клон, как и вилка, является копией репозитория. Клонируйте репозиторий, вы можете внести изменения, убедиться, что они работают должным образом, а затем передать эти изменения в GitHub. Вы также можете синхронизировать локальную копию с изменениями, внесенными другими пользователями, прошедшими проверку подлинности, в копию репозитория GitHub.

Чтобы клонировать веб-проект Space Game на компьютер:

  1. Перейдите в вилку веб-проекта Space Game (mslearn-tailspin-spacegame-web-deploy) на сайте GitHub.

  2. Выберите Код. Затем на вкладке HTTPS нажмите кнопку рядом с URL-адресом, чтобы скопировать URL-адрес в буфер обмена.

    Screenshot that shows how to locate the URL and copy button from the GitHub repository.

  3. В Visual Studio Code перейдите в окно терминала.

  4. В терминале перейдите в каталог, где вы хотите работать. Выберите свой домашний каталог (~) или другой каталог, если хотите.

    cd ~
    
  5. Выполните команду git clone. Замените URL-адрес, показанный здесь содержимым буфера обмена:

    git clone https://github.com/your-name/mslearn-tailspin-spacegame-web-deploy.git
    
  6. Перейдите в каталог mslearn-tailspin-spacegame-web-deploy. Это корневой каталог репозитория.

    cd mslearn-tailspin-spacegame-web-deploy
    

Настройка вышестоящего удаленного репозитория

Удаленный — это репозиторий Git, в котором участники группы совместно работают (например, репозиторий на GitHub). Здесь вы выводите список удаленных репозиториев и добавляете удаленный репозиторий, указывающий на копию репозитория Майкрософт, чтобы вы могли получить актуальный пример кода.

  1. Выполните следующую git remote команду, чтобы вывести список удаленных элементов:

    git remote -v
    

    Вы видите, что у вас есть доступ к репозиторию как для получения (скачивания), так и отправки (отправки):

    origin  https://github.com/username/mslearn-tailspin-spacegame-web-deploy.git (fetch)
    origin  https://github.com/username/mslearn-tailspin-spacegame-web-deploy.git (push)
    

    Источник указывает репозиторий на сайте GitHub. При вводе кода из другого репозитория исходный удаленный (который вы вилировали из) часто называется вышестоящий.

  2. Выполните команду git remote add, чтобы создать удаленный именованный вышестоящий репозиторий, указывающий на репозиторий Майкрософт:

    git remote add upstream https://github.com/MicrosoftDocs/mslearn-tailspin-spacegame-web-deploy.git
    
  3. Запустите git remote еще раз, чтобы увидеть изменения:

    git remote -v
    

    Вы видите, что у вас по-прежнему есть доступ (скачивание) и отправка (отправка) доступа к репозиторию. Теперь у вас также есть доступ к репозиторию Майкрософт:

    origin  https://github.com/username/mslearn-tailspin-spacegame-web-deploy.git (fetch)
    origin  https://github.com/username/mslearn-tailspin-spacegame-web-deploy.git (push)
    upstream        https://github.com/MicrosoftDocs/mslearn-tailspin-spacegame-web-deploy.git (fetch)
    

Откройте проект в обозревателе файлов

В Visual Studio Code окно терминала указывает на корневой каталог веб-проекта Space Game. Чтобы просмотреть ее структуру и работать с файлами, из проводника вы откроете проект.

  1. Самый простой способ открыть проект заключается в повторном открытии Visual Studio Code в текущем каталоге. Для этого во встроенном терминале выполните следующую команду.

    code -r .
    

    В обозревателе вы увидите каталог и дерево файлов.

  2. Откройте интегрированный терминал. Вы будете перемещены в корень веб-проекта.

Если выполнение команды code завершается неудачно, необходимо добавить Visual Studio Code в системную переменную PATH. Для этого:

  1. В Visual Studio Code выберите F1 или Представление>Палитра команд для доступа к палитре команд.
  2. В палитре команд введите команду shell: установите команду "code" в PATH.
  3. Повторите предыдущую процедуру, чтобы открыть проект в проводнике.

Теперь вы настроили работу с исходным кодом Space Game и конфигурацией Azure Pipelines из локальной среды разработки.

Создание сред службы приложение Azure

Здесь вы создадите среды, определяющие этапы конвейера. Вы создадите один Служба приложений экземпляр, соответствующий каждому этапу: разработка, тестирование и промежуточное выполнение.

В предыдущих модулях вы использовали Azure CLI для создания экземпляров Служба приложений. Здесь вы сделаете то же самое.

Внимание

Помните, что для выполнения упражнений в этом модуле требуется собственная подписка Azure.

Создание Cloud Shell с помощью портал Azure

  1. Перейдите на портал Azure и войдите в систему.
  2. В строке меню выберите Cloud Shell. При появлении запроса выберите интерфейс Bash .

Выбор региона Azure

Здесь вы указываете регион по умолчанию или географическое расположение, в котором создаются ресурсы Azure.

  1. В Cloud Shell выполните следующую az account list-locations команду, чтобы получить список регионов, доступных в подписке Azure.

    az account list-locations \
      --query "[].{Name: name, DisplayName: displayName}" \
      --output table
    
  2. В столбце "Имя" в выходных данных выберите регион, близкий к вам. Например, выберите eastasia или westus2.

  3. Запустите az configure , чтобы задать регион по умолчанию. Замените <REGION> именем выбранного региона.

    az configure --defaults location=<REGION>
    

    Ниже приведен пример, который задает westus2 в качестве региона по умолчанию:

    az configure --defaults location=westus2
    

Создание экземпляров Служба приложений

Здесь вы создадите Служба приложений экземпляры для трех этапов, на которых будет развернута среда разработки, тестирования и промежуточного хранения.

Примечание.

Для обучения используйте параметры сети по умолчанию. Эти параметры делают сайт доступным из Интернета. На практике вы можете настроить виртуальную сеть Azure, которая размещает веб-сайт в сети, которая не может быть routoutable из Интернета, и это доступно только вашей команде. Позже, когда вы будете готовы, вы можете перенастроить сеть, чтобы сделать веб-сайт доступным для пользователей.

  1. В Cloud Shell создайте случайное число, которое делает доменное имя веб-приложения уникальным.

    webappsuffix=$RANDOM
    
  2. Выполните следующую команду az group create, чтобы создать группу ресурсов с именем tailspin-space-game-rg.

    az group create --name tailspin-space-game-rg
    
  3. Выполните следующую команду az appservice plan create, чтобы создать план Службы приложений с именем tailspin-space-game-asp.

    az appservice plan create \
      --name tailspin-space-game-asp \
      --resource-group tailspin-space-game-rg \
      --sku B1 \
      --is-linux
    

    Аргумент --sku указывает план B1, который выполняется на уровне Базовый. Аргумент --is-linux определяет использование рабочих ролей Linux.

    Внимание

    Если номер SKU B1 недоступен в рамках подписки Azure, выберите другой план, например S1 (цен. категория "Стандартный").

  4. Выполните следующие команды az webapp create, чтобы создать три экземпляра Службы приложений: по одному для каждой среды — разработки, тестирования и промежуточной.

    az webapp create \
      --name tailspin-space-game-web-dev-$webappsuffix \
      --resource-group tailspin-space-game-rg \
      --plan tailspin-space-game-asp \
      --runtime "DOTNET|6.0"
    
    az webapp create \
      --name tailspin-space-game-web-test-$webappsuffix \
      --resource-group tailspin-space-game-rg \
      --plan tailspin-space-game-asp \
      --runtime "DOTNET|6.0"
    
    az webapp create \
      --name tailspin-space-game-web-staging-$webappsuffix \
      --resource-group tailspin-space-game-rg \
      --plan tailspin-space-game-asp \
      --runtime "DOTNET|6.0"
    

    В целях обучения здесь вы применяете один и тот же план Служба приложений B1 Basic к каждому экземпляру Служба приложений. На практике вы назначите план, соответствующий ожидаемой рабочей нагрузке.

  5. Выполните следующую az webapp list команду, чтобы указать имя узла и состояние каждого экземпляра Служба приложений.

    az webapp list \
      --resource-group tailspin-space-game-rg \
      --query "[].{hostName: defaultHostName, state: state}" \
      --output table
    

    Обратите внимание на имя узла для каждой работающей службы. Эти имена узлов потребуются позже при проверке работы. Приведем пример:

    HostName                                                 State
    -------------------------------------------------------  -------
    tailspin-space-game-web-dev-21017.azurewebsites.net      Running
    tailspin-space-game-web-test-21017.azurewebsites.net     Running
    tailspin-space-game-web-staging-21017.azurewebsites.net  Running
    
  6. В качестве дополнительного шага перейдите к одному или нескольким перечисленным именам, чтобы убедиться, что они выполняются и отображаются домашняя страница по умолчанию.

    Вы увидите эту страницу:

    Screenshot of the default home page on Azure App Service.

Внимание

Страница Очистка среды Azure DevOps в этом модуле содержит важные инструкции по очистке. Очистка помогает убедиться, что вы не взимаете плату за ресурсы Azure после завершения работы с этим модулем. Следуйте инструкциям по очистке, даже если этот модуль не завершен.

Создание переменных конвейера в Azure Pipelines

При изучении раздела Запуск функциональных тестов в Azure Pipelines вы добавили одну переменную для каждого экземпляра Службы приложений. Экземпляры соответствуют этапам разработки, тестирования и промежуточного хранения в конвейере. Здесь вы будете следовать тому же шаблону.

Каждый этап в конфигурации конвейера использует переменные, чтобы определить, в каком Служба приложений экземпляре для развертывания.

Чтобы добавить переменные, выполните следующие действия.

  1. В Azure DevOps перейдите в проект нефункциональных тестов space Game — web - Nonfunctional test .

  2. В разделе "Конвейеры" выберите библиотеку.

    Screenshot of Azure Pipelines, showing the Library menu option.

  3. Выберите и группу переменных.

  4. В поле "Свойства" введите имя группы переменных.

  5. В разделе "Переменные" нажмите кнопку +Добавить.

  6. Для имени переменной введите WebAppNameDev. В качестве значения введите имя экземпляра Служба приложений, соответствующего вашей среде разработки, например tailspin-space-game-web-dev-1234.

  7. Повторите шаги 5 и 6 еще раз, чтобы создать переменные для сред тестирования и промежуточного хранения , как показано в этой таблице:

    Имя переменной Пример значения
    WebAppNameTest tailspin-space-game-web-test-1234
    WebAppNameStaging tailspin-space-game-web-staging-1234

    Обязательно замените каждое значение примера на экземпляр Служба приложений, соответствующий вашей среде.

    Внимание

    Убедитесь, что вы задаете имя экземпляра Служба приложений, а не его имя узла. В этом примере вы введете tailspin-space-game-web-dev-1234 , а не tailspin-space-game-web-dev-1234.azurewebsites.net.

  8. Чтобы сохранить переменную в конвейере, нажмите кнопку "Сохранить " в верхней части страницы.

    Ваша группа переменных похожа на эту группу:

    Screenshot of Azure Pipelines, showing the variable group. The group contains three variables.

Создание сред разработки, тестирования и промежуточного хранения

При изучении раздела Запуск функциональных тестов в Azure Pipelines вы создали среды для сред разработки, тестированияи промежуточного хранения. Здесь вы повторите этот процесс.

Чтобы создать среды разработки, тестирования и промежуточной обработки, выполните следующие действия.

  1. В Azure Pipelines выберите "Среды".

    Screenshot of Azure Pipelines showing the location of the Environments menu option.

  2. Чтобы создать среду разработки, выполните следующие действия:

    1. Нажмите Создать среду.
    2. В поле Имя введите dev.
    3. В остальных полях оставьте значения по умолчанию.
    4. Нажмите кнопку создания.
  3. Чтобы создать тестовую среду, выполните следующие действия:

    1. Вернитесь на страницу Среды.
    2. Выберите новую среду.
    3. В поле Имя введите test.
    4. Нажмите кнопку создания.
  4. Чтобы создать промежуточную среду, выполните следующие действия.

    1. Вернитесь на страницу Среды.
    2. Выберите новую среду.
    3. В разделе "Имя" введите промежуточное значение.
    4. Нажмите кнопку создания.

Создание подключения службы

Здесь вы создадите подключение к службе, позволяющее Azure Pipelines получить доступ к подписке Azure. Azure Pipelines использует это подключение к службе для развертывания веб-сайта в Служба приложений. Вы создали аналогичное подключение к службе в предыдущем модуле.

Внимание

Убедитесь, что вы вошли в портал Azure и Azure DevOps под одной учетной записью Майкрософт.

  1. В Azure DevOps перейдите в проект нефункциональных тестов space Game — web - Nonfunctional test .

  2. В нижнем углу страницы выберите параметры проекта.

  3. В разделе Конвейеры выберите Подключения к службе.

  4. Выберите новое подключение к службе, а затем выберите Azure Resource Manager, а затем нажмите кнопку "Далее".

  5. В верхней части страницы субъект-служба (автоматически). Затем выберите Далее.

  6. Заполните следующие поля:

    Поле значение
    Уровень области Подписка
    Отток подписок Ваша подписка Azure
    Группа ресурсов tailspin-space-game-rg
    Имя подключения службы Resource Manager — Tailspin — Space Game

    Во время процесса может появиться запрос на вход в учетную запись Майкрософт.

  7. Убедитесь, что выбрано разрешение на доступ ко всем конвейерам .

  8. Выберите Сохранить.

    Azure DevOps выполняет тестовое подключение, чтобы убедиться, что он может подключиться к подписке Azure. Если Azure DevOps не удается подключиться, у вас есть возможность войти во второй раз.