Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ heroku

РусскиС Π‘Π»ΠΎΠ³ΠΈ

ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ руководство ΠΏΠΎ Heroku

ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ руководство ΠΏΠΎ Heroku

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли Ρƒ мСня Π½Π΅Ρ‚ Π΄Π΅Π½Π΅Π³ Π½Π° ΠΏΠΎΠΊΡƒΠΏΠΊΡƒ сСрвСра? Π₯остинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° сСрвСрах сСйчас популярСн!

ΠΠ°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Heroku

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅)

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это ΡƒΡ‡Π΅Π±Π½ΠΎΠ΅ пособиС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° git.

Π Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅)

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Heroku, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ исходный ΠΊΠΎΠ΄

Когда Π²Ρ‹ создаСтС это ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ создан ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ git (heroku), связанный с локальной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΈΠ½Ρ‚Π°ΠΊΡΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ yield from self.wsgi.close () Π² процСссС развСртывания.
Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π·Π°ΠΏΡƒΡ‰Π΅Π½ хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ экзСмпляр:

Доступ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ
heroku open

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΆΡƒΡ€Π½Π°Π»

Π― ΠΏΠΎΠΊΠ° Π½Π΅ знаю, Ρ‡Ρ‚ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈ, Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², я Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ.

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Procfile

Π’ систСмС Windows Ρ‚Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ» Procfile.windows. ΠŸΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ содСрТимоС Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот Ρ„Π°ΠΉΠ» для локального запуска слуТбы.

Π—Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ локально

ΠŸΠ΅Ρ€Π΅Π΄ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ Π² ​​heroku ΠΌΡ‹ надССмся, Ρ‡Ρ‚ΠΎ смоТСм ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ локально.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Djaong, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² руководствС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ рСсурсы, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒcollectstatic

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅http://localhost:5000Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ консоль django

ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ измСнСния

Когда Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» измСняСтся, Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π² ΡƒΠ΄Π°Π»Π΅Π½Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, опСрация ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ срСды

НСкоторая Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ваТная информация, такая ΠΊΠ°ΠΊ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΈ Π½ΠΎΠΌΠ΅Ρ€ ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи систСмного администратора, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ отобраТаСтся Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π² Ρ„Π°ΠΉΠ»Π΅, Π° считываСтся ΠΈΠ· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… срСды, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния heroku (ΠΏΡ€ΠΈ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹ΡˆΠ΅)

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… срСды
heroku config

ДополнСния (дополнСния)

heroku прСдоставляСт большоС количСство сторонних ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ papertrial, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ вашСго ΠΆΡƒΡ€Π½Π°Π»Π°.

Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ…

На Ρ€Ρ‹Π½ΠΊΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² имССтся большоС количСство ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² для Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ redis, mongodb, postgres ΠΈ mysql.
Как бСдняк, ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ бСсплатный Postgres Π² качСствС модуля ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π° Π²Π΅Π±-сайт ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ нСбольшой ΠΈ Π±ΠΎΠ»Π΅Π΅ подходящий.

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Posgres:

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…:

ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Django находится Π² settings.py

Зависимая Ρ€Π°Π±ΠΎΡ‚Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

Heroku Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ»Π° require.txt Π² ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ прилоТСния для развСртывания прилоТСния, Π° ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ зависимостСй.

Π˜Π½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ рСкомСндация

Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ heroku. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ heroku. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ heroku. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ heroku. Π€ΠΎΡ‚ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ heroku

БовмСстноС использованиС сухих Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² GitHub (высокая ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ страницы руководства APP-DHGuidePageHUD)

КаТдоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ страницу руководства APP, которая Π½Π΅ Π²Π°ΠΆΠ½Π°, Π½ΠΎ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Π°. Π‘ΡƒΠ΄ΡŒ Ρ‚ΠΎ пСрвая установка прилоТСния ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ вСрсии, это СдинствСнноС, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ пользов.

Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ heroku. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ heroku. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ heroku. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ heroku. Π€ΠΎΡ‚ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ heroku

ΠžΡ€Π³Π°Π½ΠΈΠ·ΡƒΠΉΡ‚Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ элСмСнты управлСния Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, Π² основном для клиСнтских Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Flash, JavaScript, Silverlight; Ссли для создания ст.

НСкоторыС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Django_redis ΠΈ ΡΠ΅Π»ΡŒΠ΄Π΅Ρ€Π΅Ρ

Problem for Nazar

Vue слСдит Π·Π° Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π»

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ heroku CLI

Π― устал ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° своС Π½ΠΎΠ²ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

МнС каТСтся, я Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π°ΠΏΡƒΡ‚Π°Π» ΠΈ Π½Π΅ знаю, ΠΊΠ°ΠΊ это ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ.

2 ΠΎΡ‚Π²Π΅Ρ‚Π°

Π£ мСня Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Django, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΠ» Π½Π° Π²Π΅Π±-сСрвСрС heroku ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ PyCharm Π² качСствС своСго IDE. РаньшС я ΠΌΠΎΠ³ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ со своим Π²Π΅Π±-сСрвСром с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ heroku run bash, ΠΎΠ΄Π½Π°ΠΊΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° я ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ heroku run bash, я ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽ: β–Έ stat.

Π’ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡƒΠ»ΡŒΡ‚ дистанционного управлСния Π½Π° heroku, Π½Π΅Π²Π΅Ρ€Π½ΠΎ. Π’ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΡƒΠ»ΡŒΡ‚ дистанционного управлСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ

Π­Ρ‚ΠΎ настроит ваш ΠΏΡƒΠ»ΡŒΡ‚ дистанционного управлСния Π½Π° Π½ΠΎΠ²ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ new_app

Для развСртывания ΠΊΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ

Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ваш ΠΊΠΎΠ΄ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ heroku

это Ρ‚ΠΎ ΠΆΠ΅ самоС, Ρ‡Ρ‚ΠΎ:

git remote add heroku [email protected]:hidden-ridge-8790.git

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ вопросы:

Π― создаю ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ heroku, Π° ΠΏΠΎΡ‚ΠΎΠΌ моя машина Ρ€Π°Π·Π±ΠΈΠ»Π°ΡΡŒ. Π£ мСня новая машина. Как ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠΈΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ heroku? Когда я ΠΏΠΎΡΠ΅Ρ‰Π°ΡŽ страницу heroku, url для ΠΌΠΎΠ΅Π³ΠΎ прилоТСния.

Π£ мСня Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Django, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΠ» Π½Π° Π²Π΅Π±-сСрвСрС heroku ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ PyCharm Π² качСствС своСго IDE. РаньшС я ΠΌΠΎΠ³ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ со своим Π²Π΅Π±-сСрвСром с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ heroku run bash, ΠΎΠ΄Π½Π°ΠΊΠΎ.

МоТно Π»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ элСктронному ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Spectron? Π― Π½Π΅ особСнно ΡƒΠ²Π΅Ρ€Π΅Π½ Π² Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ это ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ.. Π― Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅: import <.

Π£ мСня Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ PHP, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… postgresql прилоТСния HEROKU ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ запросы ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… (ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ pg_query, хотя PDO Ρ‚ΠΎΠΆΠ΅ Π².

Π£ мСня Π΅ΡΡ‚ΡŒ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ spring boot, ΠΈ я ΠΌΠΎΠ³Ρƒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ этому ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ jconsole, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹Π±ΠΈΡ€Π°ΡŽ Π΅Π³ΠΎ ΠΈΠ· Π³Ρ€ΡƒΠΏΠΏΡ‹ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… процСссов: Но я Ρ…ΠΎΡ‡Ρƒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ своСму ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ.

Работая Π½Π°Π΄ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Ruby, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΌ Heroku CLI для deployment, я наткнулся Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, ΠΏΡ‹Ρ‚Π°ΡΡΡŒ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС это Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ процСсса Docker Compose ΠΈ микросСрвисов. ΠšΠΎΡ€ΠΎΡ‡Π΅.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

МСга-Π£Ρ‡Π΅Π±Π½ΠΈΠΊ Flask, Π§Π°ΡΡ‚ΡŒ 18: Π Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ Π½Π° Heroku Cloud

Π­Ρ‚ΠΎ восСмнадцатая ΡΡ‚Π°Ρ‚ΡŒΡ Π² сСрии, Π³Π΄Π΅ я ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽ свой ΠΎΠΏΡ‹Ρ‚ написания Π²Π΅Π±-прилоТСния Π½Π° Python с использованиСм ΠΌΠΈΠΊΡ€ΠΎΡ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Flask.

ЦСль Π΄Π°Π½Π½ΠΎΠ³ΠΎ руководства β€” Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ довольно Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅-ΠΌΠΈΠΊΡ€ΠΎΠ±Π»ΠΎΠ³, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ я Π·Π° ΠΏΠΎΠ»Π½Ρ‹ΠΌ отсутствиСм ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ€Π΅ΡˆΠΈΠ» Π½Π°Π·Π²Π°Ρ‚ΡŒ microblog.

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ хостинга. ΠœΡ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ Π΄Π²Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° хостинга Π½Π° Linux сСрвСрах, сначала Π½Π° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ сСрвСрС ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ CentOS, Π° Π·Π°Ρ‚Π΅ΠΌ Π½Π° ΠΌΠΈΠ½ΠΈΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Raspberry Pi. Π’Π΅ ΠΈΠ· Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΊΡ‚ΠΎ Π½Π΅ занимался администрированиСм Linux систСм Ρ€Π°Π½Π΅Π΅, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ€Π΅ΡˆΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ это Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ слишком ΠΌΠ½ΠΎΠ³ΠΎ усилий ΠΈ ΠΌΠΎΠ³Π»ΠΎ Π±Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΊΠ°ΠΊ-Ρ‚ΠΎ ΠΏΡ€ΠΎΡ‰Π΅.

БСгодня ΠΌΡ‹ посмотрим, являСтся Π»ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ Β«Π² ΠΎΠ±Π»Π°ΠΊΠΎΒ» Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ излишнСй слоТности процСсса.

Но Ρ‡Ρ‚ΠΎ это Π·Π½Π°Ρ‡ΠΈΡ‚ Β«Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π² ΠΎΠ±Π»Π°ΠΊΠΎΒ»?

ΠŸΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Ρ‹ ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ³ΠΎ хостинга ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΡƒΡ‰Π΅Π½ΠΎ нашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Всё Ρ‡Ρ‚ΠΎ трСбуСтся ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° β€” ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π° всё ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ сСрвСрноС ΠΆΠ΅Π»Π΅Π·ΠΎ, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму, ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ языка ΠΈ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Π±Π΅Ρ€Ρ‘Ρ‚ Π½Π° сСбя сСрвис.

Π—Π²ΡƒΡ‡ΠΈΡ‚ слишком Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π°Π²Π΄ΠΎΠΉ, Π½Π΅ Ρ‚Π°ΠΊ Π»ΠΈ?

ΠœΡ‹ рассмотрим Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ прилоТСния Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Heroku, ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· самых популярных ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ ΠΎΠ±Π»Π°Ρ‡Π½ΠΎΠ³ΠΎ хостинга. Π― Π²Ρ‹Π±Ρ€Π°Π» Heroku Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Π΅Ρ‘ популярности, Π½ΠΎ Π΅Ρ‰Π΅ ΠΈ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° прСдоставляСт бСсплатный ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ сСрвиса, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ€Π°Π·Π²Π΅Ρ€Π½Π΅ΠΌ нашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΠ² ΠΏΡ€ΠΈ этом Π½ΠΈ Ρ†Π΅Π½Ρ‚Π°. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ большС ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎΠ± этом Ρ‚ΠΈΠΏΠ΅ услуг, ΠΈ Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Ρ‹, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ со страницСй Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ, посвящСнной PaaS.

Π₯остинг Π½Π° Heroku

Heroku Π±Ρ‹Π»Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΠ΅Ρ€Π²Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… услуги PaaS. Π’ Π½Π°Ρ‡Π°Π»Π΅, ΠΎΠ½Π° ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π»Π° услуги размСщСния Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ruby ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½ΠΎ ΠΏΠΎΠ·Π΄Π½Π΅Π΅ Π±Ρ‹Π»Π° Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… языков Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Java, Node.js ΠΈ нашСго Ρ„Π°Π²ΠΎΡ€ΠΈΡ‚Π°, Python.

Π’ΠΎΠΎΠ±Ρ‰Π΅-Ρ‚ΠΎ для развСртывания прилоТСния Π½Π° Heroku трСбуСтся лишь Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ git (Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΡƒΠΆΠ΅ совсСм скоро). Heroku ΠΈΡ‰Π΅Ρ‚ Ρ„Π°ΠΉΠ» Procfile Π² ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ прилоТСния для получСния инструкций ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ. Для Python ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Heroku Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ„Π°ΠΉΠ» requirements.txt, содСрТащий список Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… сторонних ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².

ПослС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ прилоТСния, ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ Π΄Π΅Π»ΠΎ сдСлано. Heroku ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ свою магию ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ доступно ΠΎΠ½Π»Π°ΠΉΠ½ Ρ‡Π΅Ρ€Π΅Π· считанныС сСкунды. Π‘ΡƒΠΌΠΌΠ° счСта Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π°, Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ зависит ΠΎΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½Π½Ρ‹Ρ… Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… мощностСй вашим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‡Π΅ΠΌ большС Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Ρƒ вашСго прилоТСния, Ρ‚Π΅ΠΌ большС Π²Π°ΠΌ придСтся Π·Π°ΠΏΠ»Π°Ρ‚ΠΈΡ‚ΡŒ.

Π“ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΈΡΠΏΡ‹Ρ‚Π°Ρ‚ΡŒ Heroku? Π”Π°Π²Π°ΠΉΡ‚Π΅ Π½Π°Ρ‡Π½Π΅ΠΌ!

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π° Heroku

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Heroku, Π½ΡƒΠΆΠ½ΠΎ Ρ‚Π°ΠΌ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΏΠΎ ссылкС ΠΈ создайтС Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚.

ПослС Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Ρ‹ ΠΏΠΎΠΏΠ°Π΄Π΅Ρ‚Π΅ Π² панСль управлСния, ΠΎΡ‚ΠΊΡƒΠ΄Π° Π²Ρ‹ смоТСтС ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ всСми своими прилоТСниями. ΠœΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ интСнсивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ панСль управлСния, Π½ΠΎ ΠΎΠ½Π° прСдоставляСт Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎΠΉ ΠΎΠ±Π·ΠΎΡ€ вашСго Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°.

Установка ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Heroku

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ прямо ΠΈΠ· Π²Π΅Π± интСрфСйса, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π·Π°Π΄Π°Ρ‡ΠΈ, Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°, поэтому ΠΌΡ‹ всё Π±ΡƒΠ΄Π΅ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ Π² консоли.

Heroku ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ Β«Heroku ΠΊΠ»ΠΈΠ΅Π½Ρ‚Β», ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для создания ΠΈ управлСния нашим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Π­Ρ‚Π° ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π° ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Windows, Mac OS X ΠΈ Linux. Если для вашСй ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ доступСн Π½Π°Π±ΠΎΡ€ инструмСнтов Heroku, Ρ‚ΠΎ это самый простой способ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Heroku.

ΠŸΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ сдСлаСм ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° β€” Π²ΠΎΠΉΠ΄Π΅ΠΌ Π² наш Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚:

Heroku запросит Ρƒ вас email ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΎΡ‚ вашСго Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°. ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ ваш ssh ΠΊΠ»ΡŽΡ‡ Π½Π° сСрвСра Heroku.

ΠŸΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π±Π΅Π· Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ.

Настройка Git

git прСдставляСт собой основу разворачивания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Heroku, поэтому ΠΎΠ½ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ установлСн. Если Π²Ρ‹ установили Π½Π°Π±ΠΎΡ€ инструмСнтов Heroku, Ρ‚ΠΎ git Ρƒ вас ΡƒΠΆΠ΅ установлСн.

Для разворачивания прилоТСния Π½Π° Heroku, ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² локальном Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚Π°Ρ€ΠΈΠΈ, поэтому Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² консоли:

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ прилоТСния Heroku

Для создания Π½ΠΎΠ²ΠΎΠ³ΠΎ прилоТСния Heroku, достаточно Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ create ΠΈΠ· ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ прилоТСния:

Π’ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ установкам URL, эта ΠΊΠΎΠΌΠ°Π½Π΄Π° добавляСт Π½Π°ΡˆΠ΅ΠΌΡƒ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚Π°Ρ€ΠΈΡŽ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚Π°Ρ€ΠΈΠΉ (git remote), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ вскорС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΊΠΎΠ΄Π° прилоТСния Π² ΠΎΠ±Π»Π°ΠΊΠΎ.

ЕстСствСнно, имя flask-microblog Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ занято ΠΌΠ½ΠΎΠΉ, поэтому ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°ΠΉΡ‚Π΅ ΠΊΠ°ΠΊΠΎΠ΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ имя своСму ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ.

Π˜ΡΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ локальноС Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²

НСкоторыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ нашСго прилоТСния ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² Π²ΠΈΠ΄Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° дискС.

И Ρ‚ΡƒΡ‚ ΠΌΡ‹ сталкиваСмся с нСпростой Π·Π°Π΄Π°Ρ‡Π΅ΠΉ. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ, Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΌ Π½Π° Heroku, Π½Π΅ доступно постоянноС Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° дискС, Ρ‚. ΠΊ. Heroku ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, которая Π½Π΅ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π²ΠΈΠ΄Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ², файловая систСма очищаСтся ΠΎΡ‚ всСх Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΡ€ΠΎΠΌΠ΅ нСпосрСдствСнно Ρ„Π°ΠΉΠ»ΠΎΠ² прилоТСния, ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ запускС инстанса. Π‘Ρ‚Ρ€ΠΎΠ³ΠΎ говоря, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π½Π° дискС, Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π² состоянии Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ эти Ρ„Π°ΠΉΠ»Ρ‹ Π² случаС ΠΈΡ… исчСзновСния. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ссли Π·Π°ΠΏΡƒΡ‰Π΅Π½ΠΎ Π΄Π²Π° инстанса, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ свою ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму ΠΈ Π½Π΅Ρ‚ возмоТности Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ.

Π­Ρ‚ΠΎ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ нСприятныС новости для нас. Для Π½Π°Ρ‡Π°Π»Π°, это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Π½Π΅ смоТСм ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ sqlite Π² качСствС Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

Наша Π±Π°Π·Π° полнотСкстового поиска Whoosh Ρ‚Π°ΠΊΠΆΠ΅ пСрСстанСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Ρ‚. ΠΊ. ΠΎΠ½Π° Ρ…Ρ€Π°Π½ΠΈΡ‚ свои Π΄Π°Π½Π½Ρ‹Π΅ Π² Π²ΠΈΠ΄Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ².

Π’Ρ€Π΅Ρ‚ΠΈΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ β€” наша систСма логирования. ΠœΡ‹ сохраняли наш Π»ΠΎΠ³ Π² ΠΏΠ°ΠΏΠΊΠ΅ /tmp ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π° Heroku, это Ρ‚ΠΎΠΆΠ΅ пСрСстанСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠ»ΠΈ 3 основныС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΊΠ°Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

ΠŸΠ΅Ρ€Π²ΡƒΡŽ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΌΡ‹ Ρ€Π΅ΡˆΠΈΠΌ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠ΅ΠΉ Π½Π° Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡƒΡŽ Heroku, которая основана Π½Π° PostgreSQL.

Для функционирования полнотСкстового поиска Ρƒ нас Π½Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠΉ доступной Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹. Нам придСтся Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ полнотСкстовой поиск, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ PostgreSQL, Π½ΠΎ это ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ внСсСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² нашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. БСзусловно Таль, Π½ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ сСйчас ΡƒΠ²Π΅Π»ΠΎ Π±Ρ‹ нас Π΄Π°Π»Π΅ΠΊΠΎ Π² сторону ΠΎΡ‚ Ρ‚Π΅ΠΌΡ‹ ΡΡ‚Π°Ρ‚ΡŒΠΈ, поэтому для размСщСния Π½Π° Heroku, ΠΌΡ‹ просто ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΠΌ полнотСкстовой поиск.

И Π½Π°ΠΊΠΎΠ½Π΅Ρ†, Ρ‚. ΠΊ. ΠΌΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ наши Π»ΠΎΠ³ΠΈ, ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ наши Π»ΠΎΠ³ΠΈ ΠΊ систСмС логирования, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Heroku, которая, кстати, вСсьма проста Π² использовании, Ρ‚. ΠΊ. отправляСт Π² Π»ΠΎΠ³ всё, Ρ‡Ρ‚ΠΎ выводится Π² stdout.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Heroku

Для создания Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Heroku:

Π—Π°ΠΌΠ΅Ρ‚ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‚. ΠΊ. это СдинствСнная бСсплатная опция. Для Π±ΠΎΠ΅Π²ΠΎΠ³ΠΎ сСрвСра понадобится Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΎΠΏΡ†ΠΈΡŽ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

Π—Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΈΠ΅ полнотСкстового поиска

Для ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ полнотСкстового поиска, нашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡƒΠΌΠ΅Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Π·Π°ΠΏΡƒΡ‰Π΅Π½ΠΎ Π»ΠΈ ΠΎΠ½ΠΎ Π½Π° Heroku ΠΈΠ»ΠΈ Π½Π΅Ρ‚. Для этого ΠΌΡ‹ создадим ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ окруТСния, ΠΎΠΏΡΡ‚ΡŒ ΠΆΠ΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Heroku:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ пСрСмСнная окруТСния HEROKU, Π±ΡƒΠ΄Π΅Ρ‚ установлСна Π² 1, ΠΊΠΎΠ³Π΄Π° нашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡƒΡ‰Π΅Π½ΠΎ Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠ΅ Heroku.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ полнотСкстовой поиск довольно просто. Для Π½Π°Ρ‡Π°Π»Π°, Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» (Ρ„Π°ΠΉΠ» config.py):

Π—Π°Ρ‚Π΅ΠΌ, ΠΎΡ‚ΠΌΠ΅Π½ΠΈΠΌ созданиС Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… полнотСкстового поиска (Ρ„Π°ΠΉΠ» app/models.py):

Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ полнотСкстовом поискС Π² g Π² нашСм ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ before_request, Ρ‡Ρ‚ΠΎΠ±Ρ‹ наши ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Π²ΠΈΠ΄Π΅Π»ΠΈ Π΅Ρ‘ (Ρ„Π°ΠΉΠ» app/views.py):

И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, ΡƒΠ±Π΅Ρ€Π΅ΠΌ ΠΏΠΎΠ»Π΅ поиска Π² Π±Π°Π·ΠΎΠ²ΠΎΠΌ шаблонС (Ρ„Π°ΠΉΠ» app/templates/base.html):

Π˜ΡΠΏΡ€Π°Π²Π»ΡΠ΅ΠΌ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Под ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Heroku, всё Ρ‡Ρ‚ΠΎ выводится Π² ΠΏΠΎΡ‚ΠΎΠΊ stdout, Ρ‚ΡƒΡ‚ ΠΆΠ΅ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π² Π»ΠΎΠ³ прилоТСния Heroku. Но Π»ΠΎΠ³ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΈΡˆΡƒΡ‚ΡΡ Π² Ρ„Π°ΠΉΠ»Ρ‹ Π½Π° дискС, Π±ΡƒΠ΄ΡƒΡ‚ нСдоступны. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Π½Π° этой ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ вмСсто этого Π»ΠΎΠ³Π³Π΅Ρ€, ΠΏΠΈΡˆΡƒΡˆΠΈΠΉ ошибки прямо Π² stdout (Ρ„Π°ΠΉΠ» app/__init__.py):

Π’Π΅Π± сСрвСр

ΠœΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ сСрвСр Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Flask Π½Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ½Π΅, Ρ‚. ΠΊ. ΠΎΠ½ однопроцСссный ΠΈ ΠΎΠ΄Π½ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ, поэтому Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‡ΡˆΠ΅. Руководство Heroku для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Python Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅Ρ‚ gunicorn, Π΅Π³ΠΎ ΠΌΡ‹ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ.

Π’ нашС локальноС ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅, gunicorn устанавливаСтся ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ python ΠΌΠΎΠ΄ΡƒΠ»ΡŒ:

Для Π΅Π³ΠΎ запуска, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Python модуля, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ сам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ прилоТСния, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ΠΌ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ создадим ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Python ΠΌΠΎΠ΄ΡƒΠ»ΡŒ для Heroku (Ρ„Π°ΠΉΠ» runp-heroku.py):

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ссли ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ сСрвСр gunicorn локально, ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ этого модуля, ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Π€Π°ΠΉΠ» requirements.txt

Π£ΠΆΠ΅ совсСм скоро ΠΌΡ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠΌ нашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Heroku, Π½ΠΎ ΠΏΡ€Π΅ΠΆΠ΄Π΅ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ сСрвСру, ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ Π½Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ для запуска. На нашСм локальном ПК, ΠΌΡ‹ управляли зависимостями ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ окруТСния, устанавливая Π² Π½Π΅Π³ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ pip.

Heroku поступаСт ΠΏΠΎΡ…ΠΎΠΆΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Если Ρ„Π°ΠΉΠ» requirements.txt обнаруТиваСтся Π² ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ прилоТСния, Ρ‚ΠΎ Heroku устанавливаСт всС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ пСрСчислСнныС Π² Π½Π΅ΠΌ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ pip.

Для создания Ρ„Π°ΠΉΠ»Π° requirements.txt ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ†ΠΈΡŽ freeze ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ pip:

Π’ список Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ сСрвСр gunicorn, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ psycopg2, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ SQLAlchemy для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… PostgreSQL. ΠžΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π²ΠΈΠ΄ Ρ„Π°ΠΉΠ»Π° requirements.txt Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠΌ:

НСкоторыС ΠΈΠ· этих ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π±ΡƒΠ΄ΡƒΡ‚ нСвострСбованны вСрсиСй нашСго прилоТСния, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠΉ для Heroku, Π½ΠΎ Π½Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ ΡΡ‚Ρ€Π°ΡˆΠ½ΠΎΠ³ΠΎ Π² Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² систСмС. И ΠΌΠ½Π΅ каТСтся, Ρ‡Ρ‚ΠΎ всё ΠΆΠ΅ Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ список Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².

Procfile

ПослСднСС Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ Heroku ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Для этого Heroku трСбуСтся Ρ„Π°ΠΉΠ» Procfile Π² ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ прилоТСния.

Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» вСсьма прост, ΠΎΠ½ просто опрСдСляСт ΠΈΠΌΠ΅Π½Π° процСссов ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ассоциированныС с Π½ΠΈΠΌΠΈ (Ρ„Π°ΠΉΠ» Procfile):

ΠœΠ΅Ρ‚ΠΊΠ° web ассоциируСтся с Π²Π΅Π± сСрвСром. Heroku трСбуСтся это Π·Π°Π΄Π°Π½ΠΈΠ΅ для запуска нашСго прилоТСния.

Π”Ρ€ΡƒΠ³ΠΈΠ΅ Π΄Π²Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΈΠΌΠ΅Π½ΡƒΠ΅ΠΌΡ‹Π΅ init ΠΈ upgrade это ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с нашим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Π—Π°Π΄Π°Π½ΠΈΠ΅ init ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ нашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ созданиСм Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ языковых Ρ„Π°ΠΉΠ»ΠΎΠ². Π—Π°Π΄Π°Π½ΠΈΠ΅ upgrade ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ init, Π½ΠΎ вмСсто создания Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ½ΠΎ обновляСт Π±Π°Π·Ρƒ Π΄ΠΎ послСднСй ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ.

Π Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ прилоТСния

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ приступаСм ΠΊ самой интСрСсной части, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΡ‹ размСстим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² нашСм Heroku Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π΅. Π­Ρ‚ΠΎ довольно просто, ΠΌΡ‹ просто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ git для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ прилоТСния:

ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ прилоТСния Π½Π° Heroku, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π°, Π° для этого ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π·Π°Π΄Π°Π½ΠΈΠ΅ init, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΡ‹ Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ Π² наш Procfile:

Π’Π΅Ρ€ΠΈΡ‚Π΅ Π²Ρ‹ ΠΈΠ»ΠΈ Π½Π΅Ρ‚, Π½ΠΎ нашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡƒΠΆΠ΅ доступно ΠΎΠ½Π»Π°ΠΉΠ½. Π’ ΠΌΠΎΠ΅ΠΌ случаС, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ доступно ΠΏΠΎ адрСсу flask-microblog.herokuapp.com. Π’Ρ‹ Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΡ‚Π°Ρ‚ΡŒ ΠΌΠΎΠΈΠΌ Ρ„ΠΎΠ»ΠΎΠ²Π΅Ρ€ΠΎΠΌ со страницы ΠΌΠΎΠ΅Π³ΠΎ профиля. Π― Π½Π΅ знаю Ρ‚ΠΎΡ‡Π½ΠΎ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»Π³ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ доступно ΠΏΠΎ этому адрСсу, Π½ΠΎ Π²Π°ΠΌ Π½ΠΈΡ‡Ρ‚ΠΎ Π½Π΅ ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ доступно ΠΎΠ½ΠΎ ΠΈΠ»ΠΈ Π½Π΅Ρ‚!

ОбновлСниС прилоТСния

Π Π°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΎ, ΠΏΡ€ΠΈΠ΄Π΅Ρ‚ врСмя ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ нашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌΡƒ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΡŽ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Π΄Π΅Π»ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π»ΠΈΡ‚ΠΎ Π½Π° сСрвСр ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ git:

Π—Π°Ρ‚Π΅ΠΌ, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ скрипт обновлСния:

Π›ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Если с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡΡ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ΡˆΡ‚Π°Ρ‚Π½ΠΎΠ΅, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈ. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ для Heroku вСрсии прилоТСния, ΠΌΡ‹ пишСм всС Π»ΠΎΠ³ΠΈ Π² stdout, Π° Heroku собираСт ΠΈΡ… Π² собствСнный Π»ΠΎΠ³.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π»ΠΎΠ³ΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Heroku:

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ всС Π»ΠΎΠ³ΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Π»ΠΎΠ³ΠΈ Heroku. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π»ΠΎΠ³ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ вашСго прилоТСния, запуститС ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Π’Π΅Ρ‰ΠΈ Π²Ρ€ΠΎΠ΄Π΅ стэка Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ошибки прилоТСния, всС Π±ΡƒΠ΄ΡƒΡ‚ Π² этом Π»ΠΎΠ³Π΅.

Π‘Ρ‚ΠΎΠΈΡ‚ Π»ΠΈ?

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ прСдставлСниС ΠΎ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠΈ прилоТСния Π½Π° ΠΎΠ±Π»Π°Ρ‡Π½ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ, ΠΈ поэтому ΠΌΠΎΠΆΠ΅ΠΌ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ этот Π²ΠΈΠ΄ хостинга с Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ хостинга.

Π’ вопросС простоты, ΠΏΠΎΠ±Π΅Π΄Π° Π·Π° ΠΎΠ±Π»Π°ΠΊΠ°ΠΌΠΈ. По ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ для Heroku, процСсс развСртывания прилоТСния Π±Ρ‹Π» ΠΎΡ‡Π΅Π½ΡŒ прост. ΠŸΡ€ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠΈ Π½Π° Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ сСрвСр ΠΈΠ»ΠΈ VPS, Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Heroku ΠΆΠ΅ Π±Π΅Ρ€Π΅Ρ‚ Π·Π°Π±ΠΎΡ‚Ρƒ ΠΎΠ± этом Π½Π° сСбя ΠΈ позволяСт Π½Π°ΠΌ ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° нашСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.

Π’ ΠΈΡ‚ΠΎΠ³Π΅, ΠΌΠ½Π΅ каТСтся, вопрос Π²Ρ‹Π±ΠΎΡ€Π° свСдСтся ΠΊ Π²Ρ‹Π±ΠΎΡ€Ρƒ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΆΠ½Π΅Π΅ для вас: врСмя ΠΈΠ»ΠΈ дСньги.

ΠšΠΎΠ½Π΅Ρ†?

ОбновлСнноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ доступно, ΠΊΠ°ΠΊ всСгда, Π½Π° github. Или ΠΆΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² Π²ΠΈΠ΄Π΅ zip Π°Ρ€Ρ…ΠΈΠ²Π° ΠΏΠΎ ссылкС:

Π‘ Ρ€Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ нашСго прилоТСния всСми Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌΠΈ способами, каТСтся, Ρ‡Ρ‚ΠΎ наш экскурс ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΊΠΎΠ½Ρ†Ρƒ.

Π― надСюсь, эти ΡΡ‚Π°Ρ‚ΡŒΠΈ Π±Ρ‹Π»ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Π΅Π± прилоТСния, ΠΈ Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΡ‚ Π±Π°Π³Π°ΠΆ Π·Π½Π°Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я Π²Ρ‹Π²Π°Π»ΠΈΠ» Π½Π° вас Π·Π° эти 18 статСй, ΠΌΠΎΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅Ρ‚ вас Π½Π° созданиС своСго собствСнного ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π’ΠΏΡ€ΠΎΡ‡Π΅ΠΌ, я Π½Π΅ ΡΡ‚Π°Π²Π»ΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ, ΠΈ Π½Π΅ ΠΎΡ‚Ρ€ΠΈΡ†Π°ΡŽ вСроятности появлСния статСй ΠΎ microblog-Π΅. Если, ΠΈ ΠΊΠΎΠ³Π΄Π°, интСрСсная Ρ‚Π΅ΠΌΠ° ΠΏΡ€ΠΈΠ΄Π΅Ρ‚ Π½Π° ΡƒΠΌ, я Π±ΡƒΠ΄Ρƒ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΅Ρ‰Π΅, Π½ΠΎ я оТидаю Ρ‡Ρ‚ΠΎ частота ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ нСсколько спадСт. ВрСмя ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, я ΠΌΠΎΠ³Ρƒ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ ΠΌΠ΅Π»ΠΊΠΈΠ΅ исправлСния Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π·Π°ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ Π² Π±Π»ΠΎΠ³Π΅, Ρ‚Π°ΠΊ Π²ΠΎΡ‚ эти измСнСния Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π½Π° GitHub.

Π’ своСм Π±Π»ΠΎΠ³Π΅ я ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΡƒ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΠΈ, связанныС с Π²Π΅Π± Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ обСспСчСниСм Π²ΠΎΠΎΠ±Ρ‰Π΅, Ρ‚.Ρ‡. я ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ°ΡŽ вас ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° ΠΌΠ½ΠΎΠΉ Π½Π° Twitter ΠΈΠ»ΠΈ Facebook, Ссли Π²Ρ‹ Π΅Ρ‰Π΅ этого Π½Π΅ сдСлали, ΠΈ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½Ρ‹ ΠΎ ΠΌΠΎΠΈΡ… ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΡΡ‚Π°Ρ‚ΡŒΡΡ….

Бпасибо Π²Π°ΠΌ, Π΅Ρ‰Π΅ Ρ€Π°Π·, Π·Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΈ Π»ΠΎΡΠ»ΡŒΠ½Ρ‹ΠΌ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»Π΅ΠΌ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

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. На ΠΌΠΎΠΉ взгляд вСсьма быстро, просто ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎ. Π’ΠΎΡ‚ Ρ‚ΡƒΡ‚ описан ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ способ, Π½ΠΎ Π½Π° ΠΌΠΎΠΉ взгляд ΠΎΠ½ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ слоТнСС.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Как Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Django Π² Heroku с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Git CLI

Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ heroku. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ heroku. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ heroku. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ heroku. Π€ΠΎΡ‚ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ heroku

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим, ΠΊΠ°ΠΊ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Django Π½Π° Heroku с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Git.

ΠŸΡ€Π΅Π΄ΠΏΠΎΡΡ‹Π»ΠΊΠΈ

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ список Π²Π΅Ρ‰Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΌΡ‹ Π½Π°Ρ‡Π½Π΅ΠΌ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅:

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Heroku (CLI) позволяСт Π»Π΅Π³ΠΊΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ прилоТСния Heroku ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠΌΠΈ прямо ΠΈΠ· Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°. Π­Ρ‚ΠΎ ваТная Ρ‡Π°ΡΡ‚ΡŒ использования Heroku.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Heroku CLI (ΠΎΠ½ ΠΆΠ΅ Heroku Toolbelt), слСдуйтС инструкциям Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ сайтС.

Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Django Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ срСдС, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ всСго процСсса развСртывания.

Аккаунт Heroku

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ всС эти Π²Π΅Ρ‰ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ установлСны, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ шагом Π±ΡƒΠ΄Π΅Ρ‚ созданиС бСсплатной ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи Heroku здСсь, Ссли Ρƒ вас Π΅Ρ‰Π΅ Π½Π΅Ρ‚ ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи.

ПослС написания Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ:

Π’Π΅Ρ€ΠΌΠΈΠ½Π°Π» Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ сообщСниС Π²Ρ€ΠΎΠ΄Π΅:

НаТмитС Π»ΡŽΠ±ΡƒΡŽ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ ΠΈ Π²ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² систСму с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. ПослС этого Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ сообщСниС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ содСрТания:

ΠΠ°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Django для Heroku

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ сдСлали всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠΌ нашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Django для Heroku.

Procfile

PROCFILE Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ Procfile Π±Π΅Π· Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„Π°ΠΉΠ»Π°, ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Π½ΠΎΠ³ΠΎ Π² ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ вашСго прилоТСния. Π’ Π½Π΅ΠΌ пСрСчислСны Ρ‚ΠΈΠΏΡ‹ процСссов Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ‚ΠΈΠΏ процСсса являСтся объявлСниСм ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, которая выполняСтся ΠΏΡ€ΠΈ запускС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° / динамомСтричСского стСнда этого Ρ‚ΠΈΠΏΠ° процСсса.

ΠŸΠ΅Ρ€Π΅Π΄ созданиСм Procfile Π²Ρ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ django gunicorn Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:

Π₯отя Django поставляСтся со своим собствСнным сСрвСром WSGI, ΠΌΡ‹ скаТСм Heroku ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Gunicorn для обслуТивания нашСго прилоТСния, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ рСкомСндуСтся Heroku.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ создайтС Procfile Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ строку:

Π—Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ yourdjangoweb фактичСским Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Runtime.txt

Π—Π°Ρ‚Π΅ΠΌ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π²Π΅Ρ€ΡΠΈΡŽ Π² runtime.txt :

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ вСрсии Python Π½Π° Heroku ΠΌΠΎΠΆΠ½ΠΎ здСсь.

Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½Ρ‹Π΅ хосты

Π’ качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ всС прилоТСния ΠΎΡ‚ Heroku, опуская имя прилоТСния, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π² нашСй Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ срСдС.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Heroku ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Postgres, Π½Π°ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ понадобится Π΅Π³ΠΎ Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ для Python:

И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ WhiteNoise для обслуТивания статичСских Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ сСрвСрС. Π§Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ²:

Настройка статичСских Ρ„Π°ΠΉΠ»ΠΎΠ²

Π‘Π½Π°Ρ‡Π°Π»Π° Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ настройки для обслуТивания статичСских Ρ„Π°ΠΉΠ»ΠΎΠ² Π² любом ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Django. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ настройки Π² свой settings.py :

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ STATICFILES_STORAGE = ‘whitenoise.storage.CompressedManifestStaticFilesStorage’ Π² ваш settings.py

Настройка Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…

ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ dj-database-url для настройки нашСй Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ эти строки Π²Π½ΠΈΠ·Ρƒ settings.py :

Requirements.txt

Heroku распознаСт Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Python, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Ρƒ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ» requirements.txt Π² ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅. Он сообщаСт Heroku, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ для запуска вашСго прилоТСния.

Для этого ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ pip freeze ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ Π² Ρ„Π°ΠΉΠ» requirements.txt :

Π’Π°Ρˆ requirements.txt Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π’Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ вСрсии ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ нашим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Django ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ для вашСго.

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Heroku ΠΊ Git

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Heroku:

Он ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ сообщСниС Β«doneΒ» с двумя URL-адрСсами Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… строках:

Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ для вашСго прилоТСния Π±Ρ‹Π» создан Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Git Π² ΠΎΠ±Π»Π°ΠΊΠ΅ Heroku. URL-адрСс https://herokuappname.herokuapp.com/ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для доступа ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ Π³Π΄Π΅ ΡƒΠ³ΠΎΠ΄Π½ΠΎ, Π½ΠΎ Π½Π°ΠΌ всС Ρ€Π°Π²Π½ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ шаг ΠΏΠ΅Ρ€Π΅Π΄ запуском нашСго прилоТСния, Ρ‚.Π΅. Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ наш ΠΊΠΎΠ΄ Π² Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ.

Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ пустой Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Heroku ΠΊ пустому git Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡŽ:

ЗафиксируйтС измСнСния / Ρ„Π°ΠΉΠ»Ρ‹:

НаконСц, ΠΎΡ‚ΠΏΡ€Π°Π²ΡŒΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π² git Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹ΠΉ Π½Π° Heroku:

Если всС ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΎΠΉ Π²Ρ‹Π²ΠΎΠ΄:

Ошибка collectstatic

Он скаТСт Heroku Π½Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ collectstatic Π²ΠΎ врСмя развСртывания прилоТСния. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΏΠΎΠ·ΠΆΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ bower :

Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΡ‚ΠΈ ΠΏΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ, ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΏΡ€ΠΎΡ‡Π΅Π³ΠΎ:

ΠŸΠ΅Ρ€Π΅Π½Π΅ΡΡ‚ΠΈ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ собствСнного Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ

1. Π’ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² панСль управлСния Heroku.

2. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ вашС Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ· списка:

Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ heroku. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ heroku. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ heroku. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ heroku. Π€ΠΎΡ‚ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ heroku

3. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Settings Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠ·, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Ρ€Π°Π·Π΄Π΅Π» Domain:

Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ heroku. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ heroku. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ heroku. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ heroku. Π€ΠΎΡ‚ΠΎ Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ heroku

4. НаТмитС Π½Π° Add domain, Π³Π΄Π΅ Π²Ρ‹ смоТСтС Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ своС Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ΅ имя.

Π­Ρ‚ΠΎΡ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ доступСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Ρ… ΡƒΡ‡Π΅Ρ‚Π½Ρ‹Ρ… записСй. Π’Π°ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ ввСсти Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΡ€Π΅Π΄ΠΈΡ‚Π½ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚Ρ‹ Π½Π° Heroku для подтвСрТдСния вашСй ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² ΠΈ субдомСнов Π½Π° этой страницС.

Π’Ρ‹Π²ΠΎΠ΄

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΠ»ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Django Π½Π° Heroku с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ Π΄ΠΎΠΌΠ΅Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Git.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *