Рубрики
Uncategorized

Создание и развертывание функции Azure ⚡ Использование VS-кода и Azure DevOps (CI / CD)

Создание и развертывание функции Azure ⚡ Использование VS Code и Azure DEVOPS (CI / CD). Помечено с Azure, DevOps, Azurefunctions.

Функция Azure 🚀 — это Microsoft Faas (функция в качестве службы), предлагающая. Где вы можете создавать приложения, не беспокоясь о сервере и инфраструктуре, что масштабирование для удовлетворения требований. Вы можете использовать ваш выбор языка программирования.

Давайте начнем…

До реквизиты
  1. Azure DevOps аккаунт ( получить бесплатно )
  2. Azure Account ( Зарегистрироваться бесплатно )
  3. Визуальный студийный код ( скачать )

Эта статья довольно длинная. Пожалуйста, не стесняйтесь прыгать в нужный раздел

  1. Создать проект Azure DEVOPS
  2. Создать функцию Azure локально
  3. Добавить шаблон менеджера ресурсов Azure (ARM)
  4. Push Code для хранилища Git
  5. Создать сборку/CI (непрерывная интеграция) Трубопровод
  6. Создать выпуск/CD (непрерывный доставку) трубопровод
  1. Создать проект Azure DEVOPS

    Следуйте указанным ниже шагам, чтобы создать новый проект Azure DEVOPS:

    1. Войдите в свой Azure DevOps Freeant http://dev.azure.com/[username] Заменить [Имя пользователя с именем вашего арендатора] E.G http://dev.azure.com/usmslm102.
    2. Нажмите на Создать проект и предоставить необходимые детали
    3. Как только проект создан, вы будете перенаправлены на страницу приветствия.
  2. Создать функцию Azure локально

    Следуйте инструкциям ниже, чтобы создать и запустить функцию Azure локально

    1. Откройте визуальный студийный код и установите Функции Azure и C # Расширения Если у вас уже установлено, а, пропустите.
    2. Нажмите на расширения из боковой панели и найдите Функции Azure и нажмите на кнопку установки
    3. Поиск C # Расширение и нажмите Установить
    4. Создайте новую папку с именем Azurefunctions и открыть в VS-коде
    5. Нажмите Ctrl/CMD (на Mac) + Shift + P и введите Создать функцию
    6. Выберите Создать функцию и выберите текущую папку
    7. Вы получите подсказку «Высказывание» Выбранная папка не является функциональным проектом приложений. Инициализировать проект? » щелчок да
    8. Выберите C # как язык
    9. VS код будет инициализировать функциональную приложение и попросит выбрать шаблон функции
    10. Выберите HTTPTrigger и нажмите Enter с по умолчанию «httptriggerCsharp» Функция и «Компания. Функция «для пространства имен
    11. Выберите права доступа как функция и нажмите Enter
    12. Нажмите F5, чтобы проверить нашу функцию локально и скопировать функцию URL
    13. Перейдите к скопированному URL и предоставьте параметр называемого именем например ? Имя = Мир
    14. Вуаля, наша функция вверх и работает 😱
  3. Добавить шаблон менеджера ресурсов Azure (ARM)

Нам нужно создавать Azure Resources перед развертыванием нашей функции. Мы будем использовать шаблон ARM для создания ниже Azure Resources.

  1. Azure Function App
  2. Azure Storage Account
  3. План обслуживания приложений потребления

Ниже шаблон рычага создаст все 3 ресурса:

  1. Создайте файл functionapp.json внутри шаблонов папок и вставьте ниже контента

    functionapp.json.

  2. Создайте функциюPapp.parameters.json Файл внутри шаблонов папок и вставьте ниже контента

    FunctionApp.parameters.json.

    Примечание. Измените значение AppName на уникальное имя в FunctionApp.parameters.json.

    Окончательная структура папки выглядит как ниже:

  1. Push Code для хранилища Git

Мы все настроены, чтобы нажать код на наш хранилище GIT. Когда мы создали проект Azure DEVOPS, мы получаем репозиторий Git по умолчанию же как имя проекта. Перейдите к проекту Azure DEVOPS и нажмите REPOS на левой навигации. Вы увидите, что у нас есть пустое имя репозитория «Azure Function», то же самое, что и имя вашего проекта.

Существует несколько способов толкать наш код изменения в удаленный репозиторий:

  1. Клонировать удаленный репозиторий на ваш компьютер и начните добавлять файлы
  2. Нажмите существующее локальное хранилище в удаленный репозиторий

Как мы уже создали, наш проект позволяет использовать 2-й вариант и толкать наш проект на удаленный репозиторий. Откройте свою любимую командную строку и перейдите к нашей папке проекта или, поскольку мы используем VS-код, мы можем использовать его встроенный терминал, нажмите Ctrl + ` открыть его.

Скопируйте команду DILUTION PUG PUG от Azure DEVOPS REPOS.

> Git init > Git Add. > Git Compare -am "Добавить функциональное приложение" > Git Remote Добавить начало > Git push -u происхождение - все

Обновите страницу REPOPS AZURE DEVOPS, и вы должны увидеть файлы файлов функций. 😎

  1. Создать сборку/CI (непрерывная интеграция) Трубопровод

Наш репозиторий содержит исходный код для функционального приложения, который должен быть скомпилирован перед публикацией для Azure. Как наше функциональное приложение .NET .NET Core Project Давайте создадим Трубопровод CI для создания проекта App Project и опубликует необходимые художественные.

  1. Перейдите к Azure DEVOPS Project и нажмите на сборку под трубопроводами. В настоящее время у нас нет какого-либо трубопровода CI. Давайте создадим один. Нажмите на Новый трубопровод кнопка.

  2. Azure DevOps спросит нас, где наш исходный код проживает. Azure DEVOPS поддерживает множественные поставщики SCM, такие как Azure Repos, GitHub, Bitbucket, Subversion и т. Д. Поскольку наш исходный код размещен на Azure Reppos, выберите «Azure Repos Git» и предоставить необходимые детали и нажмите кнопку «Продолжить».

  3. Нажмите на «Пустое задание», поскольку мы определим наши задачи

  4. Как наша функция на основе .NET Core Давайте добавим восстановление, построить и публиковать задачу для создания наших артефактов сборки

  5. Нажмите на кнопку «+» и найдите .сеть Core Задача и нажмите кнопку Добавить. Выберите .NET COORE TACES и изменение значений следующим образом, следующим образом RESTORE DOTNET:

  6. Rotnet Restore:

    • Имя отображения: ROTNET RESTORE
    • Команда: восстановить
    • Путь к проекту (ы): **/*. CSPROJ Этот шаг восстановит пакеты Nuget для нашего проекта
  7. Повторите выше шаг для сборки и публикации задачи

  8. Dotnet Build:

    • Имя отображения: dotnet build.
    • Команда: строить
    • Путь к проекту (ы): **/*. CSPROJ Этот шаг построит наш проект
  9. Dotnet Опубликовать:

    • Имя отображения: dotnet publish
    • Команда: публиковать
    • ООН проверено: публиковать веб-проекты
    • Путь к проекту (ы): **/*. CSPROJ
    • Аргументы: --no-Restore --Configuration Release --output $ (build.artifactstagingdirectory)
    • Проверено: ZIP опубликованные проекты
    • Проверено: добавьте название проекта, чтобы опубликовать путь Этот шаг займет наши файлы сборки и ZIP и поставить в артефактическую систему.
  10. Теперь нам нужно опубликовать Compabled Code и шаблоны ARM в качестве артефактов сборки, поэтому мы можем использовать эти пакеты в нашем выпускном трубопроводе. Нажмите на ‘+’ и найдите задачу Опубликовать строительные артефакты Отказ Выберите задачу и нажмите Добавить

    • Имя отображения: Опубликовать артефакт: падение
    • Путь для публикации: $ (Build.artifactstagingDirectory)
    • Имя артефакта: уронить
    • Artifact Опубликовать местоположение: Лазурные трубопроводы/TFS Этот шаг возьмет наши zip-файлы из ArtifactstagingDirectory и публикуют его на Azure Pobelines Build Artifacts в папке Drop
  11. Давайте опубликуем наши шаблоны ARM для папки. Нажмите на ‘+’ и найдите задачу Опубликовать строительные артефакты Отказ Выберите задачу и нажмите Добавить

    • Имя отображения: Опубликовать руку: падение
    • Путь для публикации: Шаблоны
    • Имя артефакта: уронить
    • Artifact Опубликовать местоположение: Лазурные трубопроводы/TFS Этот шаг возьмет наши файлы ARM из SourceCeirectory и публикует его на Azure Pobrelines Build Artifacts в папке Drop
  12. Наш последний трубопровод выглядит как:

  13. Давайте сохраним и вверять наш трубопровод. Нажмите «Сохранить и очередь», выпадайте сверху и выберите пул агента: «Хостинг VS2017» и филиал: «Master», затем нажмите на кнопку «Сохранить и очередь». Azure DEVOPS найдет доступный агент и запустит наши задачи.

  14. Перейдите к созданию страницы трубопровода из левой навигации и выберите наш сборнический конвейер. Мы можем увидеть все нашу сборку на этой странице. Нажмите на последние сборки. Он покажет нам журналы указанных задач в нашем конвейере сборки. на вершине щелкните правой кнопкой мыши на Артефакты Выпадайте и выберите уронить . Это откроет артефакты Explorer. Разверните папку Drop Drop, и мы можем увидеть наш шаблон ARM и Compilet Function App в пакете ZIP. Мы будем использовать эти артефакты в нашем выпускном трубопроводе.

  15. Мы не хотим каждый раз, чтобы открыть Azure DEVOPS и нажать кнопку очереди, чтобы создать изменения нашего кода. Мы хотим, если наш код изменяется, то сборка должна автоматически вызвать. Давайте включим непрерывную интеграцию для достижения этого. Отредактируйте наш сборнический трубопровод и перейдите к Триггеры Вкладка и проверка «Включить непрерывную интеграцию» и выберите Master в качестве фильтра филиала и нажмите на Сохранить и очередь Выпадайте и выберите Сохранить Отказ

  16. Мы сделаем с нашим трубопроводом CI, и мы также получаем сборки артефактов. Давайте используем эти артефакты и развертываем для Azure с помощью трубопровода выпуска/CD

  1. Создать выпуск/CD (непрерывный доставку) трубопровод

Наш репозиторий содержит исходный код для функционального приложения, который должен быть скомпилирован перед публикацией для Azure. Как наше функциональное приложение .NET .NET Core Project Давайте создадим Трубопровод CI для создания проекта App Project и опубликует необходимые художественные.

  1. Перейдите к проекту Azure DevOps и нажмите Релизы под трубопроводами. В настоящее время у нас нет никакого CD-трубопровода. Давайте создадим один. Нажмите на новую кнопку трубопровода.
  2. Azure DevOps попросит нас выбрать заранее определенный шаблон. Как мы определим наши собственные задачи, давайте начать с пустой работы.
  3. Нажмите на пустую работу.
  4. Мы должны определить этап развертывания. Тип сценического имени как Производство и закройте всплывающую поверхность, нажав на X.
  5. Нам нужно сказать наш выпускной трубопровод откуда получить артефакты развертывания. Нажмите на большую кнопку «Добавить артефакт».
  6. Выберите тип источника в виде сборки и выберите наш сборнический конвейер в «Источник (построить трубопровод)» раздел.
  7. Выберите Версия по умолчанию как последний. Так что каждый выпуск займет последние артефакты по умолчанию.
  8. Нажмите на Добавить кнопка.
  9. Прежде чем определить наши задачи развертывания, позволяют включить непрерывный триггер развертывания для автоматического развертывания наших изменений, как только появились новые артефакты сборки. Нажмите на ⚡ icon и включите Непрерывный триггер развертывания и закройте всплывающую поверхность, нажав на X.
  10. Давайте определим наши задачи, нажав на ссылку «1 задание, 0 задач» под наш этап производства. Это откроет окно задачи же, как построение трубопровода.
  11. Мы должны сначала создавать две задачи, мы должны создать приложение Azure Function и его зависимости, используя наш шаблон ARM, затем мы будем развернуть на нее пакет функции Azure.
  12. Нажмите на «+» и найдите Развертывание группы ресурсов Azure и нажмите Добавить. Этот шаг нуждается в нашей учетной записи Azure и Файлы шаблона ARM

    • Azure подписка: Выберите Azure подписку от выпадания. При необходимости нажмите кнопку «Авторизация», чтобы настроить подключение службы Azure.
    • Действие: Создать или обновить группу ресурсов
    • Группа ресурсов: Тип Функция Azure так как
    • Расположение: Восток США
    • Шаблон Расположение: Связанный артефакт
    • Шаблон: Нажмите на ... и выберите FunctionApp.json из папки Drop. Окончательный URL понравится этот $ (Система. DefaultWorkingDirectory)/_ Azurefunction-Ci/Drop/FunctionApp.json
    • Режим развертывания: Инкрементное Этот шаг будет развернуть наш шаблон ARM для создания функционального приложения и его зависимостей в определенной группе ресурсов в соответствии с определенной подпиской
  13. Нажмите на «+» и найдите Azure App Service Развертывает и нажмите Добавить. Этот шаг нуждается в нашей учетной записи Azure и файл Package Zip.

    • Azure подписка: Выберите Azure подписку от выпадания. При необходимости нажмите кнопку «Авторизация», чтобы настроить подключение службы Azure.
    • Тип сервиса приложения: Функция приложение в Windows
    • Имя сервиса приложений: Введите имя приложения, которое вы указали в FunctionApp.parameters.json Файл под Добавить лазурный диспетчер ресурсов (ARM) Шаблон раздел.
    • Пакет или папка: Выгодность (Система. DefaultWorkingDirectory)/**/*. Zip
  14. Прежде чем спасать наш трубопровод, позволяет переименовать его на Azurefunction-CD и нажмите на Сохранить кнопка.
  15. Давайте создадим выпуск и разверните наши ресурсы для Azure. 😎
  16. Нажмите на релиз> Создайте релиз. Наконец, нажмите на Создать кнопка
  17. Перейдите к выпуску страницы трубопровода из левой навигации и выберите наш выпускной трубопровод. Мы можем увидеть все наш выпуск на этой странице. Нажмите на последнюю релиз и увидеть прогресс.
  18. После того, как выпуск закончен. Перейдите к Azure Portal и откройте Azurefunction Группа ресурсов. Вуаля, функциональное приложение и его зависимости созданы сейчас.
  19. Откройте функцию приложение и получите URL-адрес функции, чтобы проверить его.

Ура 🥂.

Оригинал: «https://dev.to/usmslm102/create-deploy-azure-function-using-vs-code-and-azure-devops-ci-cd-3kmb»