Мо одатан лоиҳаҳо ва замимаҳои зиёдеро ҳамчун навкорон месозем, аммо ин танҳо нисфи муодила аст.
Мо инчунин мехоҳем, ки боқимондаи ҷаҳон тавонанд ин барномаҳоро истифода баранд ва озмоиш кунанд, хоҳ он барои муаррифӣ, хоҳ рекрутерҳои эҳтимолӣ ва ё танҳо онро дар пеши назари ҳама.
Барои ин ба мо лозим меояд, ки ин барномаҳоро дар сервери ҷамъиятӣ ҷойгир кунем.
Heroku як платформаи комилан идорашавандаи абрӣ ҳамчун хидмат (PaaS) барои таҳия, ҷойгиркунӣ ва нигоҳдории барномаҳо мебошад.
Платформа мутобиқ карда мешавад ва бо дарназардошти DX сохта шудааст, то усули таҳияи интихобкардаи шумо ва дастаи шуморо мутобиқ гардонад ва шуморо мутамарказ ва самаранок нигоҳ дорад.
Heroku аз ҷониби таҳиягарон, гурӯҳҳо ва корхонаҳои ҳама намудҳо барои оғоз, идора ва рушди лоиҳаҳо истифода мешавад. Новобаста аз он ки шумо прототипи хурд ё як маҳсулоти муҳим эҷод мекунед, платформаи пурра идорашавандаи Heroku роҳи осонтарини интиқоли барномаҳоро таъмин мекунад.
Яке аз хусусиятҳои калидии Ҳероку ин қобилияти ҷойгиркунӣ, идора кардан ва миқёси лоиҳаҳое мебошад, ки дар тарҳҳои дилхоҳатон навишта шудаанд. забонҳои барномасозӣ [Node, Ruby, Python, Java, PHP, Go ва дигарон].
Дар ин паём, ман ба шумо таълим медиҳам, ки чӣ гуна лоиҳаи мавҷудаи Node.js -ро дар Heroku ҷойгир кунед.
Шарти
Таҷрибаҳои беҳтарини ин мақола тахмин мекунанд, ки шумо:
- Коргузорӣ Node.js бо npm.
- Ҳероку ҳисоби комилан ройгон аст.
- Замимаи Node.js, ки аллакай вуҷуд дорад
- Ҳероку интерфейси сатри фармон (CLI).
1. Вобастагии аризаи худро эълон кунед
Файли package.json муайян мекунад, ки кадом вобастагиҳо бояд бо лоиҳаи шумо насб карда шаванд.
Фармони npm init-ро дар директорияи решавӣ лоиҳаи худ иҷро кунед, то барои он файли package.json тавлид кунед. Он ба шумо нишон медиҳад, ки чӣ тавр сохтани файли package.json.
Бо гузоштани онҳо, шумо метавонед ягон саволро гузаред. Дар Windows, барномаи Git Bash -ро оғоз кунед, то қабати фармонро оғоз кунед.
Файли package.json дар натиҷа чунин аст:
Барои насб кардани вобастагӣ `npm install pkg>`-ро истифода баред.
Ин бастаро насб мекунад ва инчунин онро ба файли додаҳои `package.json' вобастагӣ медиҳад. Барои насб кардани экспресс, масалан, `npm install express`-ро нависед.
Боварӣ ҳосил кунед, ки ягон бастаи сатҳи система истифода намешавад. Бастаи шумо вобастагӣ надорад. Ҳангоми кӯшиши ҷойгиркунӣ ба Heroku, файли JSON боиси мушкилот мегардад.
Барои бартараф кардани ин мушкилот, модулҳои гиреҳи `rm -rf -ро иҷро кунед; npm install — production` -ро дар сатри фармони маҳаллии худ насб кунед ва сипас кӯшиш кунед, ки барномаи худро тавассути ворид шудан ба веби маҳаллӣ Heroku ба таври маҳаллӣ оғоз кунед.
Агар яке аз вобастагии бастаи шумо файли .json мавҷуд набошад, шумо бояд паёми хатоеро пай баред, ки нишон медиҳад, ки кадом модулро ҷойгир кардан мумкин нест.
2. Версияи гиреҳро муайян кунед
Файли package.json-и шумо инчунин бояд версияи Node.js-ро дар бар гирад, ки барои иҷрои барномаи шумо дар Heroku истифода мешавад.
Шумо бояд ҳамеша версияи Node.js-ро истифода баред, ки ба вақти коре, ки шумо бо он кор мекунед, мувофиқ аст. Барои пайдо кардани версияи худ гиреҳ — версияро нависед.
Ин аст файли package.json-и шумо чунин хоҳад буд:
Акнун, ки вобастагӣ насб карда шудаанд ва версияи гиреҳи истифодашаванда муайян шудааст, файли package.json бояд чунин бошад:
3. Профил эҷод кунед
Дар решаи ҷузвдони худ Procfile созед (боварӣ ҳосил кунед, ки васеъшавӣ вуҷуд надорад ва ҳарфи "P" калон аст).
Он дар файли Heroku аст, ки шумо танзимоти Dynos -ро танзим мекунед, масалан, чӣ гуна Ҳероку пас аз боркунии барнома сервери веб-сервери js-ро оғоз мекунад.
Procfile дар барномаи намунавии ҷойгиркардаи шумо чунин менамояд:
4. Барномаи худро созед ва онро ба таври маҳаллӣ санҷед
Барои насб кардани вобастагиҳое, ки шумо дар файли package.json-и худ нишон додаед, фармони npm насбро дар директорияи барномаҳои маҳаллии худ иҷро кунед.
Фармони маҳаллии Heroku-ро, ки ба Heroku CLI дохил карда шудааст, истифода баред, то барномаи худро ба таври маҳаллӣ оғоз кунед.
Шумо бояд акнун метавонед ба барномаи худ дар он дастрасӣ пайдо кунед https://localhost:5000/.
5. Артефактҳо эҷод кунед
Файли .gitignore эҷод кунед, ки ба ин монанд ба назар мерасад, то артефактҳои сохтаро аз назорати ревизия берун нигоҳ доранд:
6. Барномаи node.js-и худро ба Heroku ҷойгир кунед
Дастурҳои зерин дархости шуморо дар Ҳероку ҷойгир мекунанд.
7. Ҳероку гузоришҳо
Шумо инчунин метавонед яке аз фармонҳои сабти номро барои гирифтани маълумот дар бораи барномаи иҷрошавандаи худ истифода баред. Ин барои ҳалли мушкилот хеле муфид аст.
хулоса
Табрикот, барномаи Node.js-и шумо ҳоло дар Heroku фаъол аст. Ин як платформаи абрест, ки ба тиҷорат имкон медиҳад, ки барномаҳоро эҷод, паҳн, идора ва афзоиш диҳанд.
Ҳероку дар ин давраи нави бе сервер ва контейнерсозӣ барои мо он ҷо буд, ки дар он ҷо мо танҳо як клик дуртар аз густариши тамоми лоиҳаи худ ҳастем ва он ҳоло ҳам ба миллионҳо корбарон дар татбиқи лоиҳаҳои худ бо соддагӣ кӯмак мекунад.
Дин ва мазҳаб