Автоматизированное утилита развертывания CICD
Непрерывная интеграция означает, что с того момента, как вы начинаете свой проект, частые коммиты на основные развертываются автоматически. Непрерывное развертывание означает, что с момента, как вы начинаете свой проект, у вас всегда есть живая сборка вашего приложения в контейнере на удаленном сервере с безопасным общедоступным соединением.
После запуска ezinnit ваш веб -приложение будет работать на вашем сервере, живете в домене HTTPS по вашему выбору, и будущие коммиты в вашем основном филиале автоматически развернут в приложении Live.
В полностью автоматизированном процессе Ezinnit инициализирует и выдвигает ваш репозиторий Gitlab и развертывание, а затем устанавливает Dokku и бегуна Gitlab на вашем сервере. Ваш репозиторий Gitlab настроен для автоматического развертывания любых компаний по вашему основному филиалу на ваш сервер, где ваше приложение автоматически встроено в контейнер и обслуживается в вашем общедоступном домене HTTPS.
Ezinnit включает в себя шаблоны приложений для новых проектов Django, Flask и Fastapi. Эти шаблоны предназначены для создания совершенно новых проектов и создания развернутого рабочего сайта.
Разработать приложения, которые, как вы знаете, будут развертываться, потому что они всегда развернуты.
Чтобы загрузить и установить ezinnit:
В корневом каталоге вашего проекта запустите:
mkdir ezinnit
wget https://raw.githubusercontent.com/johnsyncs/ezinnit/main/ezinnit -P ezinnit
bash ezinnit/ezinnit
Вам будет предложено:
- Имя пользователя Gitlab
- Домен Gitlab (если ваша учетная запись с Gitlab.com, то домен Gitlab -
gitlab.com ) - Гитлаб личный токен доступа
- Имя приложения (также становится вашим именем репозитория Gitlab)
- IP -адрес вашего удаленного сервера
- Домен или субдомен, который вы хотите указать на свое новое приложение, например:
mynewapp.mydomain.com - Адрес электронной почты для использования для регистрации в LetsEncrypt
- Дополнительный шаблон приложения: Django, Flask или Fastapi
требования:
- Виртуальная среда Python с установленным приложением (или для создания проекта Django с нуля см. Внизу Readme)
- git
- Аккаунт Gitlab (учетные записи gitlab.com должны быть проверены на использование бегунов Gitlab, но проверка бесплатная)
- Сервер, управляющий Ubuntu 18.04/20.04/22.04 Как создать каплю цифрового океана
- Ключ на местной машине, зарегистрированный на Gitlab
- Ключ SSH вашей локальной машины добавил к допустимым хостам вашего нового сервера (Digital Ocean Tutorial)
- Чтобы ваш домен работал, вам нужен DNS «A» запись, указывающая ваш домен на IP -адрес вашего сервера (создайте DNS «A» A -запись перед запуском Ezinnit)
предупреждение!
- Этот скрипт создает новые клавиши SSH на удаленном сервере!
- Если вы выберете шаблон приложения, Ezinnit будет писать файлы, включая ваш procfile, sute.py, main.py и т. Д. Используйте только шаблоны только для совершенно новых проектов.
что делает Эзиннит
- Проверки на ezinnit.config, если он не существует, он предлагает вам значения и создает файл ezinnit.config
- Если в вашем каталоге проекта нет.
- Запуск шаблона приложения, если вы выбрали один (Django, Flask и Fastapi включены в этот релиз)
- Создает трубопровод Gitlab для автоматического развертывания (.gitlab-ci.yml) в вашем каталоге проекта
- Если в вашем каталоге проекта нет файла retement.txt, создает файл reditions.txt
- Инициализирует репозиторий GIT, устанавливает начальную ветвь на основное, устанавливает удаленное к новому репозиторию Gitlab, коммиты и продвигаются в Gitlab
- Получает токен бегуна для нового репозитория от Gitlab
- копирует ezinnit.config на сервер
- Запуск скрипта инициализации сервера на удаленном сервере, который выполняет следующее:
- Создает новые ключи SSH на сервере
- загружает клавиши SSH сервера в репозиторий Gitlab
- Загрузка и установка Dokku на сервере (это занимает несколько минут)
- Создает приложение Dokku на сервере
- Устанавливает домен для приложения Dokku на сервере
- Устанавливает порт приложений на 80: 5000 на сервере
- загружает и создает бегун Gitlab на сервере
- регистрирует бегун Gitlab на сервере
- Загрузки и установка Dokku-letsEncrypt на сервере
- Включает шифрование для приложения на сервере с сертификатом TLS от LetsEncrypt на сервере
- добавляет задание на сервере для автоматического обновления сертификатов TLS
- Для Django, Flask и Fastapi создает и запускает сценарий:
ezrun , чтобы найти открытый порт и работать локально в среде разработки - Когда Ezinnit завершится, Gitlab автоматически начнет развертывание вашего приложения на ваш сервер. Ezinnit даст вам ссылку на ваш новый репозиторий, где вы можете проверить статус развертывания.
Чтобы найти открытый порт и запустить приложения Django, Flask или Fastapi ezinnit, локально в среде разработки:
Развернуть сейчас и навсегда
Используйте Ezinnit всякий раз, когда вы начинаете новый проект WebApp. При нажатии кнопки ваш проект начнется с репозитория Gitlab, который автоматически развертывает основные коммиты с контейнером на сервере по вашему выбору, где работает ваше приложение и доступно в домене по вашему выбору.
Теперь вы можете разработать для настоящей среды, для которого предназначено ваше приложение с мгновенной обратной связью о том, как изменения повлияют на использование реального мира. Вы сразу же знаете, будет ли ваше приложение построить в контейнере и как оно будет вести себя на живом сервере.
Безопасная производственная среда - это по умолчанию, а режим разработки является исключением - обеспечение безопасности разработки.
Когда вы начинаете проект с Ezinnit, вы действительно делаете CICD. С самого первого дня вы начнете работу с приложением в прямом эфире на своем собственном сервере на своем собственном домене, чтобы вы могли сосредоточиться на том, что только вы можете сделать.
Чтобы начать проект Django с нуля:
mkdir ezinnit
wget https://raw.githubusercontent.com/johnsyncs/ezinnit/main/ezinnit%20template%20scripts/django.innit -P ezinnit
bash ezinnit/django.innit
Джон Хьюитт
Роберт Кэрролл