Heroku ve Node.js Deploy veya Node.js uygulamasını Heroku Instance üzerinde çalıştırmak nasıl oluyorda gerçekleşiyor ?

Heroku ve Node.js denilince hemen hemen herkesin ya da her yeni başlayanın aklında var olan canlanan minion muhtemelen Kevin !

ilk olarak çok hoş bir fikir gibi gelse de şimdiden söyleyeyim. Free version kullanıyorsanız öyle aman aman performans beklemeyin çünkü yok ! Stuart üzgün. Stuart Bezgin.

Fakat yine de bizler bunun bilincinde olarak çok fazla yüklenmeyecek kendi kendini idame ettirebliecek bir node.js uygulamasını herokuya atalım dersek bu durumda hiç yavaşlamamıza gerek yok hemen bakıyoruz efendim duruma .
Öncelikle bir instance oluşturuyoruz bunu bu sayfadan sevgi ve şefkatle oluşturabiliz.
https://devcenter.heroku.com/articles/getting-started-with-nodejs
Daha sonrasında ise şu yazımızda bahsettiğimiz node js uygulama deploy etme adımlarını oluşturduğumuz node.js uygulamasına uyguluyoruz. Pek bir farkı yok !
Hemen akabinde eğer uygulamamız local ortamda çalışıyor ise orada da çalışıyor olmasını bekliyoruz fakat iki durum var dikkat etmek gerek. Bunlardan birisi
Heroku uygulamalarımızı npm start ile çalıştırıyor bu vesile ile uygulamamızın package.json dosyasında npm start komutunun tanımlanmış olması gerekiyor.
"scripts": { "test": "echo \"Error: no test specified\" && exit 1", "start": "node index.js" }
Bir ikinci olarak ise yine bizler kendi makinelerimizde her ne kadar port tanımlamış olsak dahi heroku bu işi dinamik yapıyor.Ve biz onu bir porta zorladığımızda ise uygulama doğal olarak çalışamıyor. Bu vesile ile environment bazlı bir ayarlama yapabilmek açısından bizler uygulamamızın listen portuna şu ayarlamayı yaparsak son derece sağlıklı olacaktır.
process.env.PORT
app.listen(process.env.PORT || 8000, () => { console.log('Example app listening on port 8000!')});
Bununla birlikte eğer uygulamamız normal olarak çalışıyor ise yine çalışması gerekecektir. Fakat ola ki çalışmadı loglara bakmak için
heroku logs --tail
komutu bizlerin kurtarıcısı olacaktır. Anlık tail olarak logları döktüğü için console.log ları ve olası tüm hataları bu kısımda görebileceğiz .