Поиск по сайту:
Компьютер позволяет решать все те проблемы, которые до появления компьютера не существовали. (Неизвестный автор)

Настройка конвейера DevOps в AWS

28.07.2020
Настройка конвейера DevOps в AWS

В этой статье мы расскажем, как настроить конвейер DevOps в AWS. Однако давайте начнем с определения того, что такое DevOps.

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

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

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

Итак, как конвейеры связаны с DevOps? Если мы посмотрим на прошлый способ работы в командах, разделенный между разработкой и операциями, релиз, как правило, будет следовать варианту процесса, описанному ниже.

  • Команда разработчиков объединяет изменения кода, которые должны быть включены в выпуск, в репозиторий кода.
  • Команда разработчиков (или специальный тестировщик) проводит тестирование релиза.
  • Команда разработчиков создает производственную сборку, готовую к выпуску.
  • Операционная группа получает производственную сборку и вручную развертывает ее на производстве. Как правило, путем размещения пакета выпуска в среде сервера и запуска сценариев.

Вместе с DevOps и объединенной командой разработчиков и операторов мы можем быстрее выпускать небольшие функции. Задачи, связанные с операциями, могут выполняться параллельно с обычными действиями по разработке. Чтобы сделать это еще быстрее, мы можем автоматизировать задачи выпуска и тестирования, используя конвейер DevOps. Размещение пакетов выпуска в среде сервера и выполнение сценариев могут запускаться автоматически одним нажатием кнопки или простым нажатием изменения кода в определенной ветви.

Читать  Вопросы для собеседования по Ansible

Такой конвейер может быть настроен с помощью различных инструментов. Однако, если вы уже выполняете свои рабочие нагрузки в AWS, он поставляется с множеством различных сервисов, которые помогут вам сделать это достаточно эффективно, не выходя из экосистемы AWS.

Давайте начнем создавать собственный конвейер для автоматизации некоторых задач развертывания.

 

Начало

Мы автоматизируем развертывание простого статического сайта с использованием следующих сервисов AWS:

  • CodePipeline — инструмент оркестровки, который помогает нам инициировать развертывание, нажимая на хранилище исходного кода или вручную нажимая кнопки
  • CodeBuild — Контейнер сборки, который может запускать сценарии, необходимые для задач развертывания.
  • S3 — статический файловый хостинг, который будет размещать наш статический сайт

Размещаемый нами статический сайт состоит из простого HTML-файла, доступ к которому осуществляется по URL-адресу S3. Чтобы развернуть это, нам нужно вручную загрузить HTML-файл в корзину из консоли AWS. Хотя это может быть не очень сложно сделать, мы всегда можем сэкономить нам пару минут, автоматизируя эту задачу.

Целью конвейера является объединение вышеупомянутых сервисов AWS для достижения следующего:

 

Хостинг статических сайтов на S3

 

1. Создайте корзину

Чтобы запустить наш статический сайт, мы начнем с создания корзины S3. Это можно сделать, перейдя в Консоль AWS → Сервисы → S3 → Создать корзину. Обязательно включите публичный доступ к этому сегменту, чтобы наш сайт мог быть доступен через Интернет. Оставьте другие параметры по умолчанию.

Читать  Самостоятельно вести блог-Ghost с помощью Traefik

 

2. Включить статический хостинг сайтов

Теперь пришло время сделать наши HTML-файлы в корзине доступными как статический сайт. Для этого перейдите в корзину S3 → Свойства → Статический хостинг → Используйте эту корзину для размещения статического сайта. Не забудьте ввести в index.htmlкачестве индексного документа и нажмите Сохранить. Теперь ваш сайт должен быть запущен, если вы перейдете по URL-адресу конечной точки, который отображается в диалоговом окне статического хостинга веб-сайтов.

Большой! Теперь у нас есть статический сайт. Чтобы обновить его, вам нужно загрузить новую версию index.htmlфайла в корзину. Давайте автоматизировать это!

 

Создание конвейера

1. Создайте репозиторий CodeCommit

Для размещения кода нам нужен репозиторий для наших файлов. Это может быть GitHub или любой другой сервис репозитория, который вы предпочитаете. Для простоты мы будем использовать сервис репозитория AWS CodeCommit.

Создайте репозиторий, перейдя в Консоль AWS → CodeCommit → Создать репозиторий. Введите имя и нажмите Сохранить. Наконец, добавьте HTML, подключившись к хранилищу через SSH или HTTPS. Если у вас нет вдохновения для файла, вы можете использовать следующий:

<p>Привет из AndreyEx.ru!</p>

 

2. Создайте конвейер CodePipeline.

Теперь пришло время создать конвейер, который будет координировать процесс развертывания нашего статического сайта. Чтобы начать создание конвейера, перейдите в Консоль AWS → CodePipeline → Создать новый конвейер.

Шаг 1

  • Введите название конвейера.
  • Выберите «Новая сервисная роль».
  • Оставьте остальные значения по умолчанию.

Шаг 2

  • Выберите AWS CodeCommit в качестве поставщика источника.
  • Выберите ваш недавно созданный репозиторий в качестве источника.
  • Выберите ветку, из которой вы хотите построить, в качестве имени ветки.
  • Оставьте остальные значения по умолчанию.
Читать  Почему DevOps должен быть DevSecOps

Шаг 3

  • Нажмите Пропустить этап сборки — нам не нужно собирать наши файлы в этом конвейере, поскольку это просто статический HTML.

Шаг 4

  • Выберите Amazon S3 в качестве этапа развертывания.
  • Выберите ведро, которое вы создали ранее, как Корзину.
  • Оставьте ключ объекта S3 пустым.
  • Установите флажок Извлечь файл перед развертыванием.
  • Разверните панель «Дополнительная конфигурация» и выберите public-read в качестве Canned ACL.
  • Сохранить.

 

Шаг 5

Теперь ваш конвейер должен запуститься и развернуть файл HTML в вашем репозитории CodeCommit на S3. Нажмите изменение в файле, и конвейер должен снова сработать автоматически.

 

Вывод

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

Удачи в использовании ваших новых навыков DevOps!

Если у вас есть какие-либо вопросы или пожелания, не стесняйтесь комментировать ниже.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
У вас есть новый компьютер с ОС Windows 10, или,…

Спасибо!

Теперь редакторы в курсе.