Node JS Web Api Heroku Deployment

Abdulkerim Karaman
alBarakaTech Global
3 min readDec 12, 2020

Heroku, uygulamalarınız için bulut tabanlı bir takım çözümler sunmaktadır. Bu çözümler arasında data storage, redis, app metrics, code and data rolback, scale, runtime configuration gibi bir çok servis bulunmaktadır. Heroku üzerinde bir çok dilde uygulama deploy edebilirsiniz.

Heroku üzerinde ücretsiz olarak denemeler yapabilirsiniz. Ücretsiz planda şu hizmetler yer alıyor.

  • Deploy with Git and Docker
  • Custom domains
  • Container orchestration
  • Automatic OS patching

Bu makalemizde Continuous Delivery (sürekli teslimat) yaklaşımını kullanarak bir Node Js Web Api projesini beraber deploy edeceğiz.

Bir node js uygulaması yazarak bunu github repomuza göndereceğiz. Heroku üzerinde yapacağımız bir çalışma ile Herokunun repomuzdan uygulamayı çekerek deploy etmesini sağlayacağız.

Node Js projesi:

Öncelikle boş bire klasör oluşturarak yeni bir node projesi için aşağıdaki komutu çalıştıralım.

npm init

Node js tarafında sıkça kullanılan express js kurulumu yapalım. (Kolayca web api oluşturmamızı sağlayacak.)

npm install express --save

Ana dizine index.js adında bir dosya oluşturarak içine örnek bir method yazalım.

Uygulamamız tek bir get methodundan oluşuyor. /api/user çağırıldığında userList dönüşü sağlıyor. PORT tanımında dikkat ederseniz process.env.PORT bilgisini Heroku tarafından alıyoruz eğer tanımlı değilse 5000 portu üzerinden ayağa kalkıyor.

Uygulamamızı Herokuya deploy ettikten sonra çalıştırabilmek için aşağıdaki tanım önemlidir. Eklemeyi unutmayalım.

"scripts": {
"start": "node index.js"
}

Şimdi uygulamamızı Heroku üzerine deploy edebiliriz. Öncelikle uygulamamızı github üzerine atalım. Proje ana dizininde sırası ile aşağıdaki komutları çalıştırabilirsiniz. (Tabiki öncelikle Github üzerinde proje oluşturmanız gerekmektedir.)

git init
git add .
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/akaramanapp/user-service.git
git push -u origin main

Aşağıdaki ekranı gördüyseniz işlem tamamdır.

Şimdi https://dashboard.heroku.com/new-app adresinden yeni bir app oluşturalım. (Ücretisz.)

Deploy method adımından github’ı seçerek kendi repomuza connect olalım.

Ardından github üzerinde uygulamamızı push ettiğimiz main branch’ini seçerek Deploy Branch butonuna basalım.

Şimdi Activity ekranından Heroku tarafından otomatik yapılacak deployment sürecini takip edebilirsiniz.

Yukarıdaki gibi bir ekran görüyorsanız deploy işleminiz tamamlanmıştır. Şimdi ilgili servisimize postman aracılığı ile bir get isteği talım ve sonucunu görelim.

https://user-service-24.herokuapp.com/api/user

Github Repo:

Bir sonraki makalemizde görüşmek dileğiyle…

Kendinize iyi bakın..

--

--