Рубрики
Без рубрики

Совершать, толкать, развернуть – GIT в Microsoft Azure Cloud

Commity, Push, Deploy – Git в Microsoft Azure Cloud Следуйте за мной в Твиттере, с радостью … помеченным облаком, Azure, Git, Python.

Совершать, толкать, развернуть – GIT в Microsoft Azure Cloud

Следуй за мной на Twitter , рад принять ваши предложения по темам или улучшениям/Крис

Мы пришли на то, чтобы полагаться на GIT в качестве нашего инструмента управления версиями по умолчанию с тех пор, как он был выпущен, он стал де -факто стандартом, даже если существуют другие варианты. GIT помогает нам управлять нашим исходным кодом, разделить его на филиалы, и он даже помогает нам работать с другими разработчиками в таких местах, как, например, GitHub или Gitlab, позволяя нам создавать запросы на тягу/слияние. Разве не было бы здорово, если бы GIT может быть рядом с нами, когда мы перемещаем наши приложения в облако?

Эта статья будет охватывать следующее:

  • Скачать Пример приложения, мы хотим сосредоточиться на понимании развертывания с помощью GIT, чтобы мы взяли несколько готовых кодов
  • Запустите приложение Локально просто чтобы убедиться, что он работает, это обязательно, если он работает на местном уровне, по крайней мере, имеет спортивный шанс работать в облаке
  • Настройте пользователя развертывания , этот пользователь развертывания необходим для FTP и локального развертывания GIT в веб -приложение
  • Создайте ресурсную группу , это необходимо, если вам нужна новая логическая группировка для того, что мы собираемся сделать,
  • Создать план обслуживания , нам понадобится это, чтобы указать, как мы будем взимать плату за это и какой контейнер мы создадим
  • Создать веб -приложение , нам нужно будет запустить команду для создания фактического веб -приложения, и нам нужно будет указать здесь, как мы его развертываем, мы выберем GIT развернуть, подробнее об этом ниже
  • Посетите Сгенерированный веб -сайт, мы должны наслаждаться плодами нашего труда, конечно
  • Встаньте исходный код на сайт , используя git deploy
  • Управление обновлениями , давайте узнаем, как мы можем обновить наше приложение и продвигать изменения, это развертывание, с git, не является одноразовым, мы можем продолжать менять наш код и перераспределение в течение столько, сколько мы хотим

Почему облако и почему git?

Cloud – это почти место по умолчанию для разработчиков для развертывания новых приложений сегодня. Причины так много, как это экономически эффективное, масштабируемое, эластичное и обладает отличной встроенной поддержкой безопасности (хотя мы не можем полностью полагаться на облако).

GIT – это инструмент, который мы, скорее всего, уже используем, когда кодируем как способ управления нашего исходного кода, особенно когда мы являемся многими разработчиками, поддерживающими ту же базу кода. Лучший способ добавить навык, такой как облако и развертывание в ремень инструмента, – это использование технологий, которые вы уже знаете. Итак, вот, возьмите то, что вы уже знаете, GIT и добавьте в него немного облака. Надеюсь, вам понравится эта статья:)

Ресурсы

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

  • Установка Azure CLI , для всего, нам понадобится Azure CLI. Azure CLI довольно мощный и позволит вам выполнить практически все, что вы можете сделать на портале.
  • Местное приложение GIT в Azure обслуживание , на этой странице показано, как вы развертываете свое приложение в Azure, используя git, но также немного рассказывают о Azure DevOps Build
  • Git развертывание QuickStart , это еще более быстрая версия, чем эта статья. Это быстрее в том смысле, что он использует некоторые умные значения по умолчанию для группы ресурсов, план службы приложений И он также использует то, что называется Zip Deploy, что является еще одним типом развертывания, чем развертывание GIT, которое мы описываем здесь

Загрузите и запустите приложение

Давайте сначала получим образец приложения. Самый простой способ сделать это – установить git, если вы еще этого не сделали, и возьмите образец проекта из GitHub:

git clone https://github.com/Azure-Samples/python-docs-hello-world cd python-docs-hello-world

Приложение выше представляет собой приложение Python с использованием колбы библиотеки, чтобы дать нам API REST. Что дает нам этот репозиторий?

application.py // this is where our application lives

requirements.txt // this is a list of libraries that needs to be installed for our app to work

.gitignore // just a file Git reads so it knows what files to NOT include when we push changes to the repo

Давайте посмотрим на Application.py и как он устанавливает некоторые маршруты для нас:

// application.py

from flask import Flask

app = Flask(__name__)

@app.route("/")

def hello():

    return "Hello World!"

Приведенный выше код делает, чтобы определить маршрут/и позволяет методу здороваться с упомянутым маршрутом, и он выводит текст Hello World, довольно стандартную фразу, когда речь идет о вашем первом приложении на новом языке или библиотеке программирования.

Запустите приложение локально

Хорошо, теперь мы немного больше понимаем, что у нас есть перед нами. Далее пытается запустить это приложение локально, прежде чем попытаться развернуть его в облаке.

Чтобы получить приложение Python, нам нужно установить Python и зависимые библиотеки, которые поставляются с ним. Инструкции для этого немного отличаются в зависимости от того, на какой ОС мы находимся, то есть Windows, Linux или Mac. Если вы на Mac, у вас уже установлен Python. Тем не менее, вам понадобится менеджер пакетов PIP, который мы можем получить, запустив:

sudo easy_install pip

Стоит взглянуть на предстоящую ссылку, если вы серьезный разработчик Python. Если вы нет, и вы здесь только для GIT и Azure, не стесняйтесь пропустить приведенный ниже абзац.

http://flask.pocoo.org/docs/0.12/installation/#installation

Короче говоря, он просит вас установить что -то под названием VirtualEnv. Это создает разные рабочие среды, поэтому, если вам нужна отдельная версия Python или отдельная версия некоторых библиотек, это путь вперед.

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

sudo pip install -r requirements.txt

Быстрый взгляд на файл Telects.txt показывает, что у нас есть некоторые библиотеки в зависимости от того, что нужно наше приложение. Как мы видим ниже, это наша флока API Framework вместе с некоторыми вспомогательными библиотеками:

click==6.7
**Flask==1.0.2**
itsdangerous==0.24
Jinja2==2.10
MarkupSafe==1.0
Werkzeug==0.14.1%

Затем нам просто нужно установить переменную среды Flask_App, чтобы указать на наше приложение для файла стартера, например, так:

FLASK_APP=application.py

с последующим

python -m flask run

Это запускает наше приложение в http://localhost: 5000 , вот так:

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

Настройте пользователя развертывания

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

Чтобы создать нашего пользователя развертывания, нам нужно использовать команду AZ WebApp. Затем нам нужно предоставить пользователю после флага-USER-NAME и пароля после флага-пассы. Пароль должен содержать не менее 8 символов и содержать два из следующих трех элементов: буквы, цифры, символы. Поэтому полная команда, которую мы должны выполнить, выглядит так:

az webapp deployment user set --user-name  --password 

Вот пример того, как может выглядеть команда приведенной выше. Давайте позвоним пользователю развертывания-пользователя-chris и дадим ему тест пароля1234. Таким образом, наша команда теперь выглядит так:

az webapp deployment user set --user-name deployment-user-chris --password test1234

Это должно дать вам выход, выглядящий так:

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

Создать ресурсную группу

Группа ресурсов – это логическая группировка, в которой вы размещаете все, что складывается, как базы данных, планы обслуживания, приложения и т. Д., Нам нужна группа ресурсов практически для всего, что мы делаем.

Вы можете либо использовать одну из существующих групп ресурсов, либо создать новую, и в этом случае вы напечатаете следующее:

az group create \ 
--name [your name for a resource group] \ 
--location westeurope

Создать план обслуживания

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

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

Полная команда для создания плана обслуживания заключается в следующем:

az appservice plan create --name [your name for an app service plan] --resource-group [you name for a resource group] --sku B1 --is-linux

Значение B1 означает, что мы находимся в базовом плане обслуживания (относительно дешево, чтобы вы немного протестировали это), и-IS-Linux означает, что мы получим контейнер Linux

Мы используем команду AppService выше, и подкоманда планирует создать наш план обслуживания. Это также должно вернуть нам ответ JSON с ключом ProvisionStingstate, имеющей успешную ценность

Создать веб -приложение

Ниже приведена команда для создания веб -приложения. Нам нужно будет указать группу ресурсов, ценообразование планировать название приложения, версию Python и, наконец, как мы его развернут, что является GIT развертыванием:

az webapp create --resource-group [your name for a resource group] --plan [your name for a service plan] --name [your name for an app name] --runtime "PYTHON|3.7" --deployment-local-git

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

В ответе JSON на это мы ищем два интересных фрагмента информации:

  • Название репозитория GIT ищите ключ под названием DeploymentLocalgiturl.
  • Общественный URL, ищите ключ под названием DefaulthostName

То, что вы достигли, – это пустое веб -приложение с включенным развертыванием GIT. Причина пуста в том, что нам еще предстоит поместить там код.

Посетите веб -сайт

Несмотря на то, что мы не подтолкнули код на нашем сайте, но он все еще содержит что -то, а именно целевую страницу по умолчанию, которую мы можем посетить. Чтобы посетить веб -сайт перейдите по адресу http://.azurewebsites.net

Это должно показать вам сайт по умолчанию, который выглядит так:

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

Толкнуть код на веб -сайте

ОК, последний шаг – правильно настроить GIT развертывание, нажать код и увидеть обновленный сайт с помощью вашего кода. Мы настроили развертывание GIT, набрав следующее:

git remote add azure 

Теперь пришло время натолкнуть код, поэтому мы просто набираем:

git push azure master

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

Это займет немного времени, так что идите и получите теплый напиток:) Наконец, он должен выбросить длинный список журналов, заканчивающихся:

Это означает, что ваше приложение успешно развернуто, и теперь вы можете вернуться к URL -адресу приложения, и вы должны увидеть это:

Вот как это делается. Теперь празднуйте …:)

Управлять изменениями и перераспределением

Теперь это довольно просто, когда у нас активировано GIT. Давайте сделаем следующее:

  1. внести некоторые изменения в файл
  2. совершить изменения
  3. Толкнуть код в нашу удаленную филиал

Внесите некоторые изменения

Давайте перейдем к Application.py и изменим его на это:

Совершить изменения

Мы совершаем, как обычно делаем в GIT:

git commit -am "changed text"

Выдвинуть код в наш удаленный

Давайте теперь подтолкнем к нашей отдаленной ветви, набрав:

git push azure master

Это должно генерировать кучу записей журнала и заканчиваться успешным развертыванием. Давайте убедимся, что это так, перейдя на URL нашего приложения:

Это выглядит хорошо:)

Резюме

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

  • Загружено Пример приложения. Очевидно, что в реальном сценарии мы создали бы наш собственный код, а не в этом случае использовать приложение с приложением с Python и Flask
  • Создал пользователь развертывания что нам понадобится для нашего развертывания. Это также заставило нас выбрать тип развертывания, который, как мы выбрали, чтобы быть развертыванием GIT.
  • Создал ресурсную группу Анкет Это создало логическую группу для нашего приложения. Это группа, которую мы можем повторно использовать для других вещей, таких как добавление базы данных или что -то еще, что приложение может понадобиться.
  • Создал план обслуживания . Это означало, что мы решили, как мы хотим быть выставленными за это, а также в каком контейнере мы хотели, чтобы приложение запустилось.
  • Создал сам веб -сайт , или, скорее, заполнитель, где может жить наше приложение.
  • Нажатие нашего кода на недавно созданный веб -сайт с использованием git. Нажатие нашего кода на недавно созданный веб -сайт с использованием git. .

Нажатие нашего кода || на недавно созданный веб -сайт с использованием git. Нажатие нашего кода || на недавно созданный веб -сайт с использованием git.

Нажатие нашего кода || на недавно созданный веб -сайт с использованием git.

Оригинал: “https://dev.to/azure/commit-push-deploygit-in-the-microsoft-azure-cloud-297l”