как залить скрипт на heroku

Развертывание Python бота для ВКонтакте на Heroku

DiSonDS

DiSonDS

как залить скрипт на heroku

Порядок действий:

0. Скачиваем бота

В данном примере используем этого python бота: VBot (ранее LOLBOT)

1. Регистрируемся на Heroku

2. Скачиваем Heroku CLI, Git

Heroku CLI:

3. Логинимся через терминал/cmd

4. Создаём приложение с Python билдпаком

cd %directory% — перемещение в директорию где расположен бот
%app_name% — название вашего приложения

5. Настройка приложения

Создаем необходимые файлы конфигурации:

runtime.txt
requirements.txt //уже есть в проекте бота
Procfile //без расширения

runtime.txt:

python-2.7.13 or python-3.6.0 //выбрать одно, в нашем случае python-3.6.0

requirements.txt:

//указываем необходимые модули
//каждый модуль с новой строки

Procfile:

web: %app_name%.py //исполняемый файл*, который будет получать входящий трафик от роутеров heroku worker: python %not_web_app%.py //исполняемый файл, которому не требуется входящий трафик для работы

*Этими исполняемыми файлами являются: боты, работающие на основе вебхуков, веб серверы.
Следует пояснить по поводу файла процессов (Procfile): в бесплатной версии мы можем создавать до двух процессов, по 1 на каждый тип.

В нашем случае понадобится только:

worker: python %not_web_app%.py // vbot.py

6. Загружаем бота через git

7. Запускаем бота

как залить скрипт на herokuкак залить скрипт на heroku

Готово.

Если бот не запустился — проверьте логи

Остались вопросы? Задавайте в комментариях.

Источник

Развёртывание кода на Heroku

Ниже приведены основные шаги, необходимые для быстрого создания приложения Node.js с Express и его развёртывание на Heroku.

Шаг 1 — аккаунт на Heroku

Убедитесь, что у вас есть учётная запись Heroku.

Шаг 2 — установите Heroku Toolbelt

Скачайте и установите пакет Toolbelt для вашей ОС.

Шаг 3 — войдите в свой аккаунт

После установки Toolbelt вы должны получить доступ к своей учётной записи.

Вот и всё на этом. Пройдите через эти шаги и вы готовы для развёртывания кода!

Развёртывание первого приложения

На данный момент у вас должно быть приложение, работающее на локальном компьютере. Следующие шаги описывают обновления, которые вам нужно сделать для развёртывания кода.

Обновление package.json

На этом шаге мы должны добавить некоторый код в файл package.json, чтобы мы могли запустить приложение с удалённого сервера.

Прямо сейчас есть хороший шанс, что файл будет выглядеть следующим образом:

Обратили внимание на запятую? Она здесь потому, что мы собираемся добавить ещё кое-что. После этого добавьте в объект engines инструменты, которые нужны для запуска этого приложения:

У вас должно быть что-то вроде следующего:

Не забудьте Grunt + Bower

Если на данный момент у вас нет любого пакета Grunt или Bower в объекте dependenciess, нам надо их получить.

Вы можете добавить их вручную в файле package.json или напрямую:

Вероятно у нас нет и возможности развернуть сервер для запуска задач Grunt. Для этого нам потребуется Grunt-CLI.

Прямо сейчас вы должны быть довольны.

Инструкции после установки

Когда делаем развёртывание кода на Heroku, мы должны запустить некоторые команды, в основном установить пакеты Bower и выполнить задачи Grunt. Чтобы сделать это, мы должны добавить инструкции внутри объекта scripts файла package.json.

Теперь у нас есть всё что нужно, чтобы Heroku установил пакеты и запустил скрипты.

Добавление Procfile

Это файл, который необходим Heroku для запуска приложения.

Добавьте в него следующий код:

Heroku будет использовать это для запуска приложения.

Создание хранилища Git

Важно сделать хранилище Git до создания сервера Heroku. ПОДОЖДИТЕ! Прежде, чем вы сойдёте с ума на Git, есть некоторые вещи, которые мы должны сделать.

Отлично. Теперь вы можете сделать git init своего хранилища.

Не обязательно в данное время делать это хранилище Github, но вы можете пожелать сделать его при создании реального приложения.

Развёртывание кода

Это довольно сложно. Убедитесь, что следуете данным командам:

Радуйтесь

Если всё хорошо, вы должны увидеть, что вам вернулось нечто вроде этого:

Источник

Go + Heroku: развертывание web-приложения

Для размещения своего web-приложения в облаке уже существует не мало различных сервисов и хостингов, однако лишь немногие поддерживают работу с Go. Среди них можно обратить внимание на следующие:
— Google App Engine
— Heroku
Некоторые другие сервисы также предлагают поддержку Go, однако на платной основе, что не всегда выгодно для разработчика, например, если он проводит различные эксперименты, изучая особенности языка. Выбрав такие критерии выбора, как простоту развертывания, скорость и удобство, я остановился на Heroku.

Для одного аккаунта Heroku предлагает до 5 приложений на бесплатной основе. Каждому приложению система выделяет 750 бесплатных часов работы в месяц, также следует учитывать, что после часа «простоя» приложение уходит в режим «сна» (Но оно автоматически будет «разбужено» при поступлении запроса к нему).

1. Регистрация в системе и авторизация
2. Создание приложения

Цель поста — показать, как развернуть приложение в облаке, потому я обойдусь простейшим «Hello, World», используя фреймворк martini:

3. Создание файла Procfile

Procfile нужен Heroku для того, чтобы знать, как запускать сервер. Разместим там одну маленькую строчку:

Обратите внимание, что если ваш исходник расположен в папке, отличной от папки hello, то и содержимое будет несколько другим:

4. Создание локального репозитория

В дальнейшем мы будем производить push из локального репозитория на репозиторий Heroku.

5. Godep — сохранение зависимостей

godep — специальный инструмент для управления зависимостями пакета. Он позволит сохранить информацию о пакетах, которые использует наш проект, и их исходный код.
Устанавливаем:

6. Создание приложения на Heroku и развертывание

Команда создаст наше приложение и, используя Go Heroku Buildpack, сохранит информацию о том, как его нужно собирать и развертывать.
Делаем push:

Почти все, мы выполняем еще одну команду, Heroku запустит приложение, затем откроет браузер и перейдет по адресу работающего приложения:

Все, приложение запущено на Heroku. В будущем вам нужно будет только поправить зависимости (если начнете использовать новые библиотеки), сделать коммит и push. На мой взгляд весьма быстро, просто и удобно. Вот тут описан похожий способ, но на мой взгляд он немного сложнее.

Источник

Как развернуть проект на Heroku

Деплой Svelte приложения на хостинг Heroku

как залить скрипт на heroku

как залить скрипт на heroku

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

Сегодня мы будем деплоить проект, написанный на Svelte, в облачную PaaS-платформу – Heroku. Будем называть её просто “хостинг”.

Начнем с создания базовой структуры, то есть с чистого листа.

За основу возьмем этот бойлерплейт: svelte-boilerplate

Склонируем проект в нужную папку.

Перейдем в директорию svelte и запустим команду для установки зависимостей

Если всё прошло успешно, сайт будет доступен по ссылке, откроем её в браузере.

как залить скрипт на heroku

Теперь попробуем собрать проект. По идее у нас должна создаться папка public, в которой будут html, css и js файлы, они будут сжаты и оптимизированы, их мы и будем использовать на продакшне.

Команда для сборки проекта

Итог должен быть таким:

как залить скрипт на heroku

Подготовка сервера

Скажу сразу: запускать проект на хостинге через команду npm run start:dev плохая идея. Вот почему:

Мы же сделаем всё как надо и запустим наш проект на простеньком Express.js сервере.

В корне проекта создадим файл server.js, в него поместим код ниже

Главное – указать переменную с портом, чтобы Heroku мог подставить нужный порт при старте.

А так сервер очень простой, при запуске он всего лишь будет рендерить index.html из папки public. Проверим

В консоли должно появиться сообщение об успешном старте

И если перейти по ссылке, мы увидим стартовую страницу сайта.

как залить скрипт на heroku

С файлами для продакшна разобрались, сервер подготовили, далее займемся настройкой Heroku CLI.

Установка и настройка Heroku CLI

Heroku CLI – это консольная утилита для удаленной работы с Heroku.

Обычно раздела “Download and install” достаточно

как залить скрипт на heroku

Пробуем установить. Если всё нормально, наберём в консоли команду heroku. Результат должен быть примерно таким

Это говорит нам о том, что Heroku доступен и готов к работе. Попробуем с помощью него запустить наш сервер. Так же в корне проекта, где находится файл server.js, запустим команду

У меня результат такой. Сайт работает

Далее в корне проекта нужно создать Procfile. Он поможет определить, как запустить приложение. Heroku в первую очередь будет искать именно его. Если в проекте отсутствует этот файл, heroku попытается запустить веб-сервер с помощью стартового скрипта (npm start) в вашем package.json.

Вставим кусок кода в Procfile

И попытаемся снова запустить сайт

На этот раз никаких ошибок в консоли нет.

Ну и последним шагом добавим в package.json команду для сборки проекта на стороне heroku

как залить скрипт на heroku

Подготовка проекта

Ну вот мы и подошли к самому главному – будем отправлять всё, что получилось, на хостинг heroku.

Для этого есть два способа:

Мы пойдем по второму пути.

Надеюсь, рассказывать, как заливать проект на github, не нужно?
Я залил сюда.

Если вам всё же интересно почитать про первый способ, вот ссылка. Он особо ничем не отличается, разве что тем, что код будет храниться на стороне heroku.

Возможно, у вас нет аккаунта на github, и этот способ окажется даже проще. Пробуйте.

Настройка хостинга

как залить скрипт на heroku

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

После завершения проект будет создан и нас перенаправит во вкладку Deploy. Там сразу перейдем в настройки github

как залить скрипт на heroku

Находим нужный нам репозиторий и коннектим

как залить скрипт на heroku

Далее выберем ветку, за которой будет наблюдать heroku, и нажмём на большую тёмную кнопку.

как залить скрипт на heroku

Теперь, когда вы зальёте что-то в ветку master, heroku будет подтягивать изменения и обновлять сайт.

На данный момент heroku не успел еще ничего стянуть, поэтому воспользуемся кнопкой ручного обновления

как залить скрипт на heroku

После того как сборка завершится (процесс можно отслеживать во вкладке Activity), нажимаем на кнопку Open app

как залить скрипт на heroku

Откроется новая вкладка, и мы снова увидим стартовую страницу нашего сайта, но уже на хостинге heroku. Сайт готов к продакшну, осталось только купить домен. Купить можно тут.
Поменять во вкладке Settings, в секции Domains

как залить скрипт на heroku

В этой же вкладке вы можете настраивать env переменные, устанавливать различные плагины и т.д. Советую изучить все вкладки, чтобы иметь полное представление о возможностях этого хостинга.

Я считаю, что цель статьи была выполнена и можно заканчивать. По всем остальным вопросам обращайтесь в официальную документацию.

Mad Devs — блог об IT

Engineering your growth. Mad Devs is the team behind large scalable projects, globally.

Источник

Развертываем свой сайт на Heroku

Здравствуй, Хабрахабр! Недавно у меня возникла необходимость развернуть свое Rails web-приложение на Heroku и я, к своему удивлению, не нашел почти ничего об этом на просторах не только Хабра, но и рунета в целом, поэтому я решил поделиться с вами своим опытом. Подробности о том, что и как я делал находятся под катом!

как залить скрипт на heroku

Сегодня я расскажу о том, как быстро и легко задеплоить свое приложение на Heroku. Если статья вызовет интерес я напишу продолжение о том, как быстро и удобно «перевести» приложение на свой домен и несколько советов о самом приложении, связанных с этим.

Развертывание приложения на Heroku

Регистрация

Первым делом вам будет необходимо зарегистрироваться на Hreoku. После того, как вы подтвердите свой e-mail нужно будет заполнить еще немного данных в своем профиле. В общем, ничего сложного, ничего необычного.

Вход в свой профиль и инициализация git-репозитория
Установка Heroku Toolbelt

Первым делом необходимо установить ПО для командной строки от Heroku на свой компьютер, если вы еще этого не сделали. Для Ubuntu и Debian процесс установки заключается в выполнении следующей команды:

Для остальных дистрибутивов Linux — этой:

Честно говоря, я не знаю отличаются ли эти скрипты чем-либо. Пользователи же Windows и OS X могут скачать установочные файлы здесь.

Вход в профиль с командной строки

После того, как весь необходимый инструментарий установлен, вам необходимо залогиниться в Heroku с командной строки:

Если вы еще не генерировали открытый ключ для SSH то вам будет предложено это сделать.

Инициализация git-репозитория

Если вы не используете систему контроля версий или используете, но отличную от git то вам придется создать локальный git-репозиторий на своем рабочем компьютере т.к. Heroku поддерживает только эту систему контроля версий. Все очень просто:

Некоторые специфические моменты

Чтобы ваше web-приложение корректно работало необходимо добавить rails_12factor в ваш Gemfile (если вы использует Rails 4) и там же указать версию ruby (для всех версий Rails):

Обратите внимание, вы должны использовать эту же версию Ruby и у себя.

Если вы используете web-сервер отличный от WEBrick (Thin в моем случае), что, кстати, рекомендуется самим сервисом Heroku, то вам необходимо будет создать так же Procfile приблизительно следующего содержания:

Последние штрихи

Наша работа по запуску web-приложения практически подошла к концу, остались последние штрихи. Далее будет предполагаться что вы используете PostgreSQL в качестве СУБД. Если вы используете MySQL — немного ниже я рассказал о том, как подружить эту СУБД с Heroku. Итак, создадим приложение в Heroku:

Возможно вам понадобится сделать asset precompile чтобы все работало нормально (лично мне пришлось, если кто-то подскажет как заставить Heroku делать все в автоматическом режиме — буду благодарен):

После этого выполните все миграции…

…и можете посмотреть что же у вас получилось:

Дружим Heroku и MySQL

Так сложилось, что для Rails более традиционной является PostgreSQL, эта СУБД является так же «родной» для Heroku. Но может так произойти, что вы используете другую популярную СУБД — MySQL. Тогда для корректной работы вашего приложения необходимо совершить еще несколько телодвижений. Не бойтесь, они достаточно просты!

Далее просто установим полученный адрес в качестве DATABASE_URL в Heroku, при необходимости изменив протокол на mysql2:

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *