BootcampHackathonHiring ChallengeTüm Etkinlikler
İş İlanlarıEğitimlerŞirketler
Web Sitenizi Cloud Run'da Deploy Edin

Web Sitenizi Cloud Run'da Deploy Edin

Cloud Run nedir? Cloud Run nasıl öğrenilir? Techcareer.net olarak Teknoloji Yeteneğinin Kod Günlüğü ile teknoloji dünyasındaki merak ettiklerinizi yanıtlıyoruz.
Techcareer.net
Techcareer.net
08.07.2024
4 Dakika

Bilgisayar bilimlerinin alt dallarından biri olan cloud teknolojileri, özellikle günümüzde web sitelerin öneminin artmasıyla beraber değeri günden güne artmaktadır. Bu durum web sitelerinin bir yerde barındırılması ve sürekli açık bulunması gerektiği için gereken ortamı sağlamasından kaynaklanmaktadır. Bu makalemde de hazır bir web sitenin hangi adımları tamamlayarak Google Cloud içinde deploy edebileceğiniz üzerine olacaktır.

1. Cloud Provider Seçmek

Huawei Cloud, Amazon Web Services, Google Cloud, Microsoft Azure gibi çokça kullanılan cloud providerlardan birisini bu aşamada seçilmesi gerekmektedir. Çünkü bu bulut sağlayıcıları websitesi deploy edebilmek için gerekli teknolojilere sahip olsalar bile hepsi bu teknolojileri farklı şekillerde ve farklı isimlerle sunmaktadırlar. Bu örneğimizde ben bu işlemi nasıl Google Cloud üzerinde yapabileceğimiz üzerinde duracağım.

2. Hesap Oluşturmak

Seçtiğiniz Cloud provider’ı üzerinde bir hesap oluşturmanız gerekmektedir. Çoğu Cloud provider ücretsiz deneme hesabı sağlamaktadır ve eğer öğrenci iseniz yine bazı Cloud providerlar çeşitli avantajlar sağlamaktadırlar.

3. Website Dosyalarını Hazırlamak

Websitenize ait tüm dosyaları bir klasörde toplamanız gerekmektedir. Bu süreçlerin hatasız gerçekleşebilmesi için de dosyalarınızın eksiksiz ve sorunsuz çalıştığından emin olmanız gerekmektedir. Bu süreçlerde websitesi dosyalarınızı GitHub, GitLab vb. gibi developer platformlarında tutmanız size Continous Integration / Continous Development(CI/CD) gibi alanlarda çeşitli avantajlar sağlayacaktır. Ben bu yazımızda GitHub üzerinden bir örnek vererek devam edeceğim.

4. Website Dosyalarını Cloud Ortamına Klonlamak

Öncelikle github üzerinden dosyaları Cloud ortamına klonlamak için sağ üstten Cloud Shell’i aktif etmeniz gerekmektedir. Bu süreçten sonra yapacağımız işlemlerin çoğu yine bu ekrandan devam edecektir. Bu ekranı aktif ettikten sonra aşağıdaki kodları kendi GitHub reponuza göre düzenlemeniz gerekmektedir.

git clone https://github.com/berkkaya0304/portfoliowebsiteofmine.git
cd ~/portfoliowebsiteofmine

Bu aşamadan sonra ise gerekli yüklemelerin yapılması için benim kendi repomda oluşturduğum setup.sh dosyası gibi bir dosya oluşturup gerekli kurulumları bu şekilde yaptırmanız gerekmektedir. 

/setup.sh

Bundan sonra uygulamanın çalışıp çalışmadığını aşağıdaki komut yardımıyla test edebiliriz.

cd ~/portfoliowebsiteofmine
npm start

5. Google Cloud Build ile Docker Container’ı Oluşturma

Geride kalan aşamaları sorunsuz bir şekilde hallettiyseniz bundan sonraki aşamalarda sorun yaşamamanız gerekmektedir. Bundan sonra uygulamayı docker container’ı haline getirerek daha az kaynak harcayarak çalıştırmış olacağız.

  • Docker Container’ı oluşturmak için Artifact Registry -> Repositories ekranına girmeniz gerekmektedir.
  • Create Repository dedikten sonra da repository’i website olarak adlandırın ve biçimini docker olarak ayarlayın.
  • Location ve Region olarakta us-central1 bölgesini seçebilirsiniz. Sonra da create’e basarak oluşturmanız gerekmektedir.

Google Cloud CLI ile doğrulayabilmek için Cloud Shell’de 

gcloud auth configure-docker 

bu komutu çalıştırmanız gerekmektedir.

6. Docker’ı Kullanma

Bu aşamada ise gerekli API’ları çalıştırmanız gerekmektedir. Bu yüzden

gcloud services enable artifactregistry.googleapis.com \
cloudbuild.googleapis.com \
run.googleapis.com

bu komutları Cloud Shell’de çalıştırmanız gerekmektedir. Bundan sonra ise 

gcloud builds submit --tag us-central1-docker.pkg.dev/${GOOGLE_CLOUD_PROJECT}/website/website:1.0.0

bu şekilde derleme işlemini başlatabilirsiniz.

7. Container’ı Cloud Run’a Dağıtma

Bu aşamada oluşturduğumuz docker container’ını Cloud Run’a aktarıyoruz.

gcloud run deploy website  --image us-central1-docker.pkg.dev/${GOOGLE_CLOUD_PROJECT}/website/website:1.0.0 --region us-central1

8. Web Sitesini Güncellemek

Bu başlığımızda bu şekilde web sitesini yayınladıktan sonra nasıl güncelleyebileceğiniz üzerine konuşacağız. Tabi ki de bu süreçlerde fazlasıyla güncelleme yapmanız gerekecektir. Bu yüzden bu başlık fazlasıyla önemlidir.

Eğer ki bu süreçlerden sonra web sitenizi yeniden güncellemek isterseniz eğer web siteniz react ile yazıldıysa örnek kodları aşağıda bulabileceksiniz. Ama eğer başka bir dil ile yazıldıysa websiteniz küçük bir araştırma ile bu komutların kendi yazılım dilinizde yazılmış haline rahatlıkla ulaşabilirsiniz.

cd ~/portfoliowebsiteofmine/react-app
npm run build:portfoliowebsiteofmine

Bu şekilde yeniden build ettikten sonra yapmanız gereken işlem ise yeniden docker ortamında çalıştırmak olacaktır ve ileride kontrolü kolaylaştırmak açısından versiyon kısmını da güncellemeniz gerekmektedir.

cd ~/portfoliowebsiteofmine
gcloud builds submit --tag us-central1-docker.pkg.dev/${GOOGLE_CLOUD_PROJECT}/website/website:2.0.0

Sıradaki aşamada ise son olarak oluşturduğumuz derlemeyi nasıl kapalı kalma süresi olmadan uygulamamızı güncelleyebileceğimizi göreceğiz.

9. Kapalı Kalmadan Web Siteyi Güncellemek

Değişiklikler tamamlandı ve son durumda yapılması gereken sadece web site hiç kapanmadan güncellemesi kaldı. Cloud Run docker container olarak oluşturduğumuz kısmı online hale getirip, buraya gönderilen trafikleri ise yeni container’a yönlenmesini sağlar. Aşağıdaki komudu Cloud Shell’de kullanarak yukarıda bahsettiğimiz gibi rahatlıkla kapalı kalmadan web sitesini güncelleyebilirsiniz.

gcloud run deploy monolith --image us-central1-docker.pkg.dev/${GOOGLE_CLOUD_PROJECT}/monolith-demo/monolith:2.0.0 --region us-central1

Bu yazımda, elinizdeki websitesini nasıl google cloud’da container’a çevirip cloud run ile başlatabileceğiniz üzerinde durduk. Bunlardan sonra ise bu yayınladığınız websitesini nasıl rahatlıkla güncelleyebileceğinizi de gördük.

Umarım bu yazım, elinizdeki websitesini nasıl Google Cloud ile beraber internete açabileceğiniz konusunda size yardımcı olmuştur. Ben Berk Kaya, herkese iyi çalışmalar diliyorum ve bir sorunuzda bana ulaşmaktan çekinmeyin.


Daha Fazla

Neural Networks (Sinir Ağları) Nedir? Nasıl Çalışır?

Neural Networks (Sinir Ağları) Nedir? Nasıl Çalışır?

Neural Networks (Sinir Ağları) nedir? Neural Networks ne işe yarar? Techcareer.net olarak Teknoloji Yeteneğinin Kod Günlüğü ile teknoloji dünyasındaki merak ettiklerinizi yanıtlıyoruz.
23.12.2024
6 Dakika

TECHCAREER

Hakkımızda
techcareer.net
Türkiye’nin teknoloji kariyeri platformu

SOSYAL MEDYA

LinkedinTwitterInstagramYoutubeFacebook

tr

en

Tüm hakları saklıdır
© Copyright 2024
support@techcareer.net
İşkur logo

Kariyer.net Elektronik Yayıncılık ve İletişim Hizmetleri A.Ş. Özel İstihdam Bürosu olarak 31/08/2024 – 30/08/2027 tarihleri arasında faaliyette bulunmak üzere, Türkiye İş Kurumu tarafından 26/07/2024 tarih ve 16398069 sayılı karar uyarınca 170 nolu belge ile faaliyet göstermektedir. 4904 sayılı kanun uyarınca iş arayanlardan ücret alınmayacak ve menfaat temin edilmeyecektir. Şikayetleriniz için aşağıdaki telefon numaralarına başvurabilirsiniz. Türkiye İş Kurumu İstanbul İl Müdürlüğü: 0212 249 29 87 Türkiye iş Kurumu İstanbul Çalışma ve İş Kurumu Ümraniye Hizmet Merkezi : 0216 523 90 26