Как люди, которые используют платформу Heroku, на самом деле используют ее? Какой день в жизни пользователя Heroku? Что это значит «Героку»? Читайте дальше, чтобы узнать ответы на эти и другие вопросы….
Универсальные контейнеры, день 1
Это был первый день Джейн в Universal Containers (UC). Экспертиза Джейн была в Ruby On Rails, так как она только что закончила Bootcamp, который преподавал «разработку полного стека» с использованием Rails.
Джейн была дана следующие пользовательские истории, которые ей пришлось решить в своем первом проекте:
- Как потребитель информации UC, я хочу иметь возможность найти новости и актуальную информацию о компании.
- Как потребитель информации UC, я хочу иметь возможность искать более старую информацию логично
- Как потребитель информации UC, я хочу иметь возможность просмотреть старые сообщения в блоге в моде временных рядов
- Я хочу иметь возможность доставить это потенциально очень большой группе людей неавентионизированным образом, с точным контролем над UX
Будучи разработчиком Rails, Джейн начала формулировать план на основе рельсов для обслуживания контента для широкого спектра пользователей. Она представляла приложение Rails, поддерживаемое базой данных PostgreSQL. Это дало бы ей абстракцию от необходимости иметь дело с кодированием таких вещей, как веб -сервер приложения, маршрутизатор запроса приложений и двигатель макета. Все это и больше выходит из коробки с рельсами!
Джейн запустила свой инструмент «Выбор», Terminal.App и начала:
Далее Джейн пошла в www.heroku.com и зарегистрировалась на аккаунт и загрузила CLI Heroku на ее новую машину.
Затем она решила создать трубопровод CI/CD, чтобы помочь ей с ее разработкой, поэтому она консультировалась с DevCenter и искал CI/CD. Она нашла статью о Heroku Ci . Это была половина проблемы CI/CD. В статье о CI/CD она нашла ссылку на Хероку трубопроводы И это завершило уравнение для нее.
Используя это, она сможет использовать автоматизированные модульные тесты в своем коде и развернуть рабочие филиалы для автоматического обеспечения и управляемой среды разработки! Она приступила к работе.
Ее первой задачей было настроить ее первое приложение. Она решила начать с стативной среды, так как производственное приложение будет добавлено после тестирования принятия пользователя (UAT)
Она вернулась к своей верной командной строке.
Сначала ей нужно было сделать начальную структуру приложения Rails для GIT. Джейн знала, что использование GIT и GitHub было лучшей практикой, и это позволило бы ей использовать интеграцию Advanced GitHub и Heroku позже.
Она использовала следующие команды, чтобы убедиться, что GIT был настроен правильно, добавила все файлы, а затем совершает их локально.
~/Code/uc_blog ☯ git status ~/Code/uc_blog ☯ git add . ~/Code/uc_blog ☯ git commit -m "First Commit"
Затем она создала частный репозиторий на GitHub, чтобы удержать свой код:
Она добавила пульт git и подтолкнула свой код в GitHub:
~/Code/uc_blog ☯ git remote add origin git@github.com:tsykoduk/refactored-robot.git ~/Code/uc_blog ☯ git pull --allow-unrelated-histories origin master ~/Code/uc_blog ☯ git push origin master
Затем Джейн была готова развернуть скелет своего приложения в Хероку. Она знала, что ей понадобится среда сборки, чтобы преобразовать свой код в исполняемый формат, что ей понадобятся контейнеры для запуска ее кода, ей понадобится система контейнерных оркестров Нужны балансировщики для загрузки, чтобы получить веб -трафик в ее приложение.
~/Code/uc_blog ☯ heroku login heroku: Press any key to open up the browser to login or q to exit: Opening browser to https://cli-auth.heroku.com/auth/cli/browser/fed60 Logged in as jane ~/Code/uc_blog ☯ heroku create Creating app... done, ⬢ murmuring-reef-21813 https://murmuring-reef-21813.herokuapp.com/ | https://git.heroku.com/murmuring-reef-21813.git
И это было все, что было для этого! Она только что проделала всю работу, необходимую для настройки среды для создания, запуска и управления своим приложением.
Время взять чашку кофе!
Когда Джейн вернулась после встречи с некоторыми из своих новых коллег и получила немного кофе, она надела наушники. У нее было немного заняться до обеда!
Она решила, что сначала развернет скелет приложения, а затем настроит трубопроводы и просмотреть приложения, а затем подключить все это вместе с GitHub.
Джейн сначала направилась на рынок элементов, поскольку она знала, что ее заявление понадобится некоторые услуги поддержки. Она знала, что ей понадобится PostgreSQL и инструмент для ведения журнала. Она также решила установить экземпляр Redis, как могла. Используйте это в качестве кэша с рельсами, чтобы ускорить производительность приложения. С этими знаниями в руке она перешла обратно на свой терминал, использовал Heroku CLI для предоставления Postgres:
~/Code/uc_blog ☯ heroku addons:create heroku-postgresql:standard-0 Creating heroku-postgresql:standard-0 on ⬢ murmuring-reef-21813... $50/month The database should be available in 3-5 minutes. ! CAUTION: The database will be empty. If upgrading, you can transfer ! data from another database with pg:copy. Use `heroku pg:wait` to track status. postgresql-defined-69446 is being created in the background. The app will restart when complete... Use heroku addons:info postgresql-defined-69446 to check creation progress Use heroku addons:docs heroku-postgresql to view documentation
А следующим был Redis:
~/Code/uc_blog ☯ heroku addons:create heroku-redis:premium-0 Creating heroku-redis:premium-0 on ⬢ murmuring-reef-21813... $15/month Your add-on should be available in a few minutes. redis-cubic-39558 is being created in the background. The app will restart when complete... Use heroku addons:info redis-cubic-39558 to check creation progress Use heroku addons:docs heroku-redis to view documentation
И, наконец, Papertrail:
~/Code/uc_blog ☯ heroku addons:create papertrail:choklad Creating papertrail:choklad on ⬢ murmuring-reef-21813... free Welcome to Papertrail. Questions and ideas are welcome (support@papertrailapp.com). Happy logging! Created papertrail-acute-05007 as PAPERTRAIL_API_TOKEN Use heroku addons:docs papertrail to view documentation
Это дало бы ей новое приложение Rails то, что ему нужно, чтобы добиться успеха с самого начала!
Теперь пришло время упаковать ее код, отправить его в среду сборки, а затем переместить собранную слизняку в контейнер.
~/Code/uc_blog ☯ git push heroku master Enumerating objects: 113, done. Counting objects: 100% (113/113), done. Delta compression using up to 8 threads Compressing objects: 100% (94/94), done. Writing objects: 100% (113/113), 148.28 KiB | 5.49 MiB/s, done. Total 113 (delta 9), reused 0 (delta 0) remote: Compressing source files... done. remote: Building source: [...] remote: -----> Launching... remote: Released v8 remote: https://murmuring-reef-21813.herokuapp.com/ deployed to Heroku remote: remote: Verifying deploy... done. To https://git.heroku.com/murmuring-reef-21813.git * [new branch] master -> master
Ее новое приложение было запущено. Она открыла веб -браузер и просмотрела адрес нового приложения:
Ее последняя задача состояла в том, чтобы настроить конвейер и среду разработки. Она знала, что ей придется создать трубопровод, интегрировать его с GitHub и включить CI и просмотреть приложения.
Она открыла приборную панель и выбрала новое приложение. Затем она выбрала создать трубопровод. Затем она ответила на несколько вопросов, и трубопровод был создан для нее.
Далее она нажала на кнопку Enable Review Apps и выбрала несколько вариантов
Далее она нажала на включение CI
Все сделано. В течение одного утра, и в первый день на работе Джейн создала приложение Heroku и все балансировщики нагрузки, среда сборки, контейнеры, с которыми можно позволить кому -то запустить приложение в Интернете. Она также настроила и настроила полный конвейер CI/CD, включая интеграцию GitHub.
Теперь она могла свернуть рукава и начать создавать приложение.
Но сначала обед!
Оригинал: «https://dev.to/heroku/how-to-heroku-5h7k»