” Я проверил документы AWS, чтобы автоматизировать опыт версионирования лямбда при изменении конфигурации и кода. Я проверил сервис AWS Code pipeline, который упрощает и автоматизирует процесс для всех. Цена на Code pipeline основана на времени запуска конвейера. Также цена за сборку кода. “
Ключевое слово define “Devtron” играет важную роль в сортировке сложности DevOps, AppOps и Kubernetes. Также “GitHub” помогает интегрировать и автоматизировать. Как Devtron, так и GitHub имеют открытый исходный код.
В этой заметке вы познакомитесь с автоматизацией версионирования лямбд с конфигурацией и изменением кода с помощью cloudformation и code pipeline. Здесь я создал конвейер кода для автоматизации создания лямбды и ее версионирования при изменении заданных параметров с помощью cloudformation с артефактами, которые будут храниться в s3 bucket.
- Необходимые условия
- Обзор архитектуры
- Обзор решения
- Этап 1: Создание роли IAM, ведра S3, Buildspec.yml, Template.yaml и образца файла HelloWorld.js
- Этап 2: Создание CodePipeline и сборка проекта
- Этап 3: Создание темы SNS с подпиской и проверка CloudFormation с созданием лямбды
- Этап 4: Тестирование параметров конфигурации лямбда и развертывание кода при обновлении в GitHub
- Очистка
- Ценообразование
- Резюме
Необходимые условия
Вам понадобится учетная запись Github и git, установленный на локальной машине. Вам понадобится AWS CLI, установленный и настроенный на локальной машине.
Обзор архитектуры
На диаграмме архитектуры показана общая архитектура развертывания с потоком данных, сборкой кода, развертыванием кода, конвейером кода, s3, sns, формированием облака, лямбда.
Обзор решения
Статья в блоге состоит из следующих этапов:
- Создание роли IAM, ведра S3, Buildspec.yml, Template.yaml и образца файла HelloWorld.js.
- Создание CodePipeline и Build Project
- Создание SNS Topic с подпиской и проверка CloudFormation с созданием лямбды
- Проверка параметров конфигурации Lambda и развертывание кода при обновлении в GitHub
Этап 1: Создание роли IAM, ведра S3, Buildspec.yml, Template.yaml и образца файла HelloWorld.js
- Откройте консоль IAM и создайте роль для cloudformation с политикой AWS lambda execute и inline policy с необходимыми разрешениями. Создайте ведро S3 с именем lambda-ci-cd-demo-test. Также настройте файл buildspec.yml, файл template.yaml и файл helloworld.js в соответствии с требованиями для создания кода лямбда и части конфигурации.
Этап 2: Создание CodePipeline и сборка проекта
- Откройте консоль codepipeline и создайте конвейер с источником github и провайдером cloudformation с ролью IAM по умолчанию и пользовательской политикой s3 inline, которая будет прикреплена к роли. Также создайте проект с пользовательскими настройками.
Этап 3: Создание темы SNS с подпиской и проверка CloudFormation с созданием лямбды
- Откройте Amazon Simple Notification Service и создайте тему с подпиской для уведомления об утверждении в конвейере кода. В конвейере кода этапы source, build, deploy, createchangeset, approvechangeset, executechangeset.
Этап 4: Тестирование параметров конфигурации лямбда и развертывание кода при обновлении в GitHub
- Протестируйте конфигурацию лямбды и код при внесении изменений в различные параметры в github.
Очистка
Удалите Code Pipeline, Code Build, IAM Role, S3 Bucket, Cloud Formation, SNS.
Ценообразование
Я рассматриваю ценообразование и примерную стоимость этого примера.
Стоимость сборки кода = $0,0
Стоимость Lambda = $0,0
Стоимость Simple Notification Service = $0,0
Стоимость простой службы хранения данных = $1,0
Общая стоимость = $(0,0 + 0,0 + 0,0 + 1,0) = $1,0
Резюме
В этом посте я показал “как автоматизировать процесс версионирования лямбд при изменении конфигурации и кода с помощью cloudformation и code pipeline”.
Для получения более подробной информации о AWS CodeDeploy, ознакомьтесь с разделом Get started AWS CodeDeploy, откройте консоль AWS CodeDeploy. Чтобы узнать больше, ознакомьтесь с документацией AWS CodeDeploy. Для получения дополнительной информации о AWS CodePipeline ознакомьтесь с разделом Get started AWS CodePipeline, откройте консоль AWS CodePipeline. Чтобы узнать больше, ознакомьтесь с документацией AWS CodePipeline.
Для получения дополнительной информации о AWS CodeBuild ознакомьтесь с разделом Get started AWS CodeBuild, откройте консоль AWS CodeBuild. Чтобы узнать больше, ознакомьтесь с документацией AWS CodeBuild. Для получения более подробной информации о AWS CloudFormation, проверьте Начать работу с AWS CloudFormation, откройте консоль AWS CloudFormation. Чтобы узнать больше, ознакомьтесь с документацией AWS CloudFormation.
Для получения более подробной информации о Devtron и GitHub ознакомьтесь с ссылками:
Веб-сайт Devtron
GitHub Repo
Присоединяйтесь к сообществу Discord
Следите за Твиттером
Поднимайте запросы на функции, предлагайте улучшения, сообщайте об ошибках
Читайте блог Devtron
Давайте быстро внедрим и попробуем! И опубликуйте ответ, используя #AdoptK8sWithDevtron #devtron
Этот блог представлен в рамках ‘Devtron Blogathon 2022’ – https://devtron.ai/.
Проверьте GitHub-репо Devtron – https://github.com/devtron-labs/devtron/ и поставьте ⭐, чтобы показать свою любовь и поддержку.
Следите за Devtron на LinkedIn – https://www.linkedin.com/company/devtron-labs/ и Twitter – https://twitter.com/DevtronL/, чтобы быть в курсе новостей этого проекта с открытым исходным кодом.
Спасибо за чтение!
Свяжитесь со мной: Linkedin