HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Проще всего начать изучение деплоя с<a>PaaS</a>. PaaS - это сервисы, которые полностью скрывают от нас инфраструктуру, но позволяют задеплоить практически любое приложение буквально за 5 минут после подключения. Их преимущество в скорости, надежности и легкости масштабирования. Достигается это за счет ограничений, которые накладываются на приложение, например, запрете хранить файлы на машинах. И еще эти сервисы достаточно дорогие.</p>
1 <p>Проще всего начать изучение деплоя с<a>PaaS</a>. PaaS - это сервисы, которые полностью скрывают от нас инфраструктуру, но позволяют задеплоить практически любое приложение буквально за 5 минут после подключения. Их преимущество в скорости, надежности и легкости масштабирования. Достигается это за счет ограничений, которые накладываются на приложение, например, запрете хранить файлы на машинах. И еще эти сервисы достаточно дорогие.</p>
2 <p><a>Render</a>- один из таких сервисов. Он поддерживает большое число языков и фреймворков из коробки. Что это значит? Во время деплоя Render самостоятельно определяет стек проекта и выполняет все необходимые шаги для обновления. Идеально для обучения хорошим практикам.</p>
2 <p><a>Render</a>- один из таких сервисов. Он поддерживает большое число языков и фреймворков из коробки. Что это значит? Во время деплоя Render самостоятельно определяет стек проекта и выполняет все необходимые шаги для обновления. Идеально для обучения хорошим практикам.</p>
3 <p>В этом курсе мы будем деплоить приложение<a>devops-example-app</a>, созданное специально для курса. Оно написано на JavaScript из-за простоты и распространенности. Все подходы, которые мы изучим на нем, работают практически без изменения и для других стеков.</p>
3 <p>В этом курсе мы будем деплоить приложение<a>devops-example-app</a>, созданное специально для курса. Оно написано на JavaScript из-за простоты и распространенности. Все подходы, которые мы изучим на нем, работают практически без изменения и для других стеков.</p>
4 <h2>С нуля до работающего приложения</h2>
4 <h2>С нуля до работающего приложения</h2>
5 <ol><li><p>Зайдите на render.com, зарегистрируйтесь</p>
5 <ol><li><p>Зайдите на render.com, зарегистрируйтесь</p>
6 </li>
6 </li>
7 <li><p>Создайте новый сервис</p>
7 <li><p>Создайте новый сервис</p>
8 </li>
8 </li>
9 </ol><p>В дашборде, либо нажав на кнопку New в правом верхнем углу, выберите опцию "Web Service"</p>
9 </ol><p>В дашборде, либо нажав на кнопку New в правом верхнем углу, выберите опцию "Web Service"</p>
10 <p>При создании веб-сервиса вас попросят выбрать один из путей. Вас интересует первый: Build and deploy from Git repository</p>
10 <p>При создании веб-сервиса вас попросят выбрать один из путей. Вас интересует первый: Build and deploy from Git repository</p>
11 <p>Далее Render просит предоставить доступ к репозиториям Github. Можно выбрать все или какие-то конкретные</p>
11 <p>Далее Render просит предоставить доступ к репозиториям Github. Можно выбрать все или какие-то конкретные</p>
12 <p>Добавить или перенастроить Github можно нажав на Connect/Configure account в правой части</p>
12 <p>Добавить или перенастроить Github можно нажав на Connect/Configure account в правой части</p>
13 <ol><li>Теперь необходимо задать параметры сервиса</li>
13 <ol><li>Теперь необходимо задать параметры сервиса</li>
14 </ol><p>Тут Render сам понял, что в проекте используется Docker и заполнил некоторые поля, остается только задать имя и нажать кнопку "Create Web Service"!</p>
14 </ol><p>Тут Render сам понял, что в проекте используется Docker и заполнил некоторые поля, остается только задать имя и нажать кнопку "Create Web Service"!</p>
15 <p>Далее вы попадете на страницу, где будут логи и ссылка на готовый деплой</p>
15 <p>Далее вы попадете на страницу, где будут логи и ссылка на готовый деплой</p>
16 <p>``` fastify start server/plugin.js -a 0.0.0.0 -l info | pino-pretty -S [16:12:20.998] INFO (9): Server listening at http://0.0.0.0:10000 Your service is live 🎉 ```</p>
16 <p>``` fastify start server/plugin.js -a 0.0.0.0 -l info | pino-pretty -S [16:12:20.998] INFO (9): Server listening at http://0.0.0.0:10000 Your service is live 🎉 ```</p>
17 <p>По логам выше видно, что Render запустил команды из Dockerfile найденного в проекте. Всё потому что на этапе ранее Render догадался, что в проекте есть Docker и выставил нужные настройки</p>
17 <p>По логам выше видно, что Render запустил команды из Dockerfile найденного в проекте. Всё потому что на этапе ранее Render догадался, что в проекте есть Docker и выставил нужные настройки</p>
18 <p>Если что-то пойдет не так при деплое, это также можно будет увидеть в логах</p>
18 <p>Если что-то пойдет не так при деплое, это также можно будет увидеть в логах</p>
19 <h2>Проверка пул реквестов</h2>
19 <h2>Проверка пул реквестов</h2>
20 <p>Во время разработки регулярно возникает задача ручной оценки пулреквестов. По сути, нужен механизм деплоя кода из пулреквеста куда-нибудь, где его можно посмотреть. Самостоятельно реализовать такой механизм довольно сложно, а в Render он встроен. Нужно просто активировать PR Previews в настройках самого проекта</p>
20 <p>Во время разработки регулярно возникает задача ручной оценки пулреквестов. По сути, нужен механизм деплоя кода из пулреквеста куда-нибудь, где его можно посмотреть. Самостоятельно реализовать такой механизм довольно сложно, а в Render он встроен. Нужно просто активировать PR Previews в настройках самого проекта</p>
21 <p>После этого на каждый отдельный PR будет генерироваться свой URL и приложение будет разворачиваться на него</p>
21 <p>После этого на каждый отдельный PR будет генерироваться свой URL и приложение будет разворачиваться на него</p>
22 <h2>Переменные среды</h2>
22 <h2>Переменные среды</h2>
23 <p>Если проект требует использования каких-либо переменных среды (как например проект, который вы задеплоили выше), их можно указать в настройках во вкладке Environment</p>
23 <p>Если проект требует использования каких-либо переменных среды (как например проект, который вы задеплоили выше), их можно указать в настройках во вкладке Environment</p>
24  
24