1. Giriş
Genel Bakış
Bu codelab'de sekiz JavaScript uygulamasını Cloud Run'a dağıtın:
- Angular SSR - Angular'a göre
- Nuxt.js - Vue.js tabanlı
- Next.js - React'e dayalı
- Remiks - tepkiye göre
- SvelteKit - Svelte'e göre
- SolidStart - Solid.js tabanlı
- Astro
- Qwik
Neler öğreneceksiniz?
- Cloud Build'in otomatik olarak desteklediği JavaScript çerçevelerini dağıtma
- Yapılandırma gerektiren JavaScript çerçevelerini dağıtma
Ön koşullar
- Cloud Shell terminaline giriş yaptınız.
- Faturalandırmanın etkin olduğu ve Cloud Run'a dağıtım yapma iznine sahip bir Google Cloud projeniz var
- Daha önce bir Cloud Run hizmeti dağıttıysanız bu işlemi doğrulayabilirsiniz. Örneğin, başlamak için kaynak kodu hızlı başlangıç kılavuzundan Node.js web hizmetini dağıtma adımlarını uygulayabilirsiniz.
2. Cloud Shell'i etkinleştirme
- Cloud Shell terminaline gidin: https://shell.cloud.google.com/?show=terminalCloud Shell'i ilk kez başlatıyorsanız ne olduğunu açıklayan bir ara ekran görüntülenir. Ara bir ekran görüntülendiyse Devam'ı tıklayın.Temel hazırlığı yapıp Cloud Shell'e bağlanmak yalnızca birkaç dakika sürer.
gcloud
projenizi ayarlamak için Cloud Shell'de aşağıdaki komutu çalıştırın: <PROJECT_ID> kısmını proje kimliğinizle değiştirin. Örnek:gcloud config set project <PROJECT_ID>
Yetki vermeniz istenirse Yetkilendir'i tıklayın.gcloud config set project js-frameworks
3. API'leri etkinleştir
Bu codelab'i kullanmaya başlamadan önce etkinleştirmeniz gereken birkaç API vardır. Bu codelab'de aşağıdaki API'lerin kullanılması gerekir. Bu API'leri şu komutu çalıştırarak etkinleştirebilirsiniz:
gcloud services enable \ cloudbuild.googleapis.com \ artifactregistry.googleapis.com \ run.googleapis.com
Ardından, bu codelab boyunca kullanılacak ortam değişkenlerini ayarlayabilirsiniz.
4. Varsayılan bölgeyi yapılandırın
Her dağıtım için bölgeyi ayrı ayrı ayarlayabilirsiniz. Bu komut, varsayılan bölgeyi us-central1
olarak ayarlar. Böylece her bölgede ayrı bir bölge ayarlamanız gerekmez.
gcloud config set run/region us-central1
5. Git'i yapılandırma
Bazı kitaplıklar, sürüm kontrolü için varsayılan olarak git
ürününün kullanılmasını bekler. git
uygulaması makinenizde zaten yapılandırılmışsa (ör. bu laboratuvarı yerel olarak çalıştırıyorsanız) bu adımları uygulamanız gerekmez.
git config --global user.email "you@example.com" git config --global user.name "Your Name" git config --global init.defaultBranch main
6. Açısal SSR (Açısal)
- Angular uygulamanızı oluşturmak istediğiniz dizine gidin
cd ~
- Sunucu Tarafı Oluşturma (SSR) kullanan bir Angular uygulaması oluşturma
Tercihleriniz istendiğinde, varsayılanları kabul etmek içinnpx @angular/cli new angular-app --ssr
Enter
tuşuna basın. - Oluşturduğunuz yeni proje klasörüne gidin
cd angular-app
- Uygulamayı dağıtın
Tercihleriniz istendiğinde, varsayılanları kabul etmek içingcloud run deploy --allow-unauthenticated
Enter
tuşuna basın.
Uygulamanızı ziyaret edin
Dağıtım birkaç dakika sürecek. İşlem tamamlandığında Cloud Run aşağıdakine benzer bir URL döndürür:
https://angular-app-xxxxxxxxxx-uc.a.run.app
Dağıtılan uygulamanızı görüntülemek için sağlanan URL'yi yeni bir tarayıcı sekmesinde açın.
İsteğe Bağlı Temizleme
- Angular projesini yerel olarak silme
cd .. rm -rf angular-app
- Angular Cloud Run hizmetini silme
Devam etmek isteyip istemediğiniz sorulduğundagcloud run services delete angular-app
Enter
tuşuna basarak devam edin.
7. Nuxt.js (Vue.js)
- Angular uygulamanızı oluşturmak istediğiniz dizine gidin
cd ~
- Nuxt.js uygulaması oluşturma
Tercihleriniz istendiğinde, varsayılanları kabul etmek içinnpx nuxi init nuxt-app
Enter
tuşuna basın. - Oluşturduğunuz yeni proje klasörüne gidin
cd nuxt-app
- Uygulamayı dağıtın
Tercihleriniz istendiğinde, varsayılanları kabul etmek içingcloud run deploy --allow-unauthenticated
Enter
tuşuna basın.
Uygulamanızı ziyaret edin
Dağıtım birkaç dakika sürecek. İşlem tamamlandığında Cloud Run aşağıdakine benzer bir URL döndürür:
https://nuxt-app-xxxxxxxxxx-uc.a.run.app
Dağıtılan uygulamanızı görüntülemek için sağlanan URL'yi yeni bir tarayıcı sekmesinde açın.
İsteğe Bağlı Temizleme
- Nuxt.js projesini yerel olarak silme
cd .. rm -rf nuxt-app
- Nuxt.js Cloud Run hizmetini silme
Devam etmek isteyip istemediğiniz sorulduğundagcloud run services delete nuxt-app
Enter
tuşuna basarak devam edin.
8. Next.js (Tepki)
- Angular uygulamanızı oluşturmak istediğiniz dizine gidin
cd ~
- Next.js uygulaması oluşturma
Tercihleriniz istendiğinde, varsayılanları kabul etmek içinnpx create-next-app next-app
Enter
tuşuna basın. - Oluşturduğunuz yeni proje klasörüne gidin
cd next-app
- Uygulamayı dağıtın
Tercihleriniz istendiğinde, varsayılanları kabul etmek içingcloud run deploy --allow-unauthenticated
Enter
tuşuna basın.
Uygulamanızı ziyaret edin
Dağıtım birkaç dakika sürecek. İşlem tamamlandığında Cloud Run aşağıdakine benzer bir URL döndürür:
https://next-app-xxxxxxxxxx-uc.a.run.app
Dağıtılan uygulamanızı görüntülemek için sağlanan URL'yi yeni bir tarayıcı sekmesinde açın.
İsteğe Bağlı Temizleme
- Next.js projesini yerel olarak silme
cd .. rm -rf next-app
- Next.js Cloud Run hizmetini silme
Devam etmek isteyip istemediğiniz sorulduğundagcloud run services delete next-app
Enter
tuşuna basarak devam edin.
9. Remiks (Tepki)
- Angular uygulamanızı oluşturmak istediğiniz dizine gidin
cd ~
- Remiks uygulaması oluşturma
Tercihleriniz istendiğinde, varsayılanları kabul etmek içinnpx create-remix remix-app
Enter
tuşuna basın. - Oluşturduğunuz yeni proje klasörüne gidin
cd remix-app
- Uygulamayı dağıtın
Tercihleriniz istendiğinde, varsayılanları kabul etmek içingcloud run deploy --allow-unauthenticated
Enter
tuşuna basın.
Uygulamanızı ziyaret edin
Dağıtım birkaç dakika sürecek. İşlem tamamlandığında Cloud Run aşağıdakine benzer bir URL döndürür:
https://remix-app-xxxxxxxxxx-uc.a.run.app
Dağıtılan uygulamanızı görüntülemek için sağlanan URL'yi yeni bir tarayıcı sekmesinde açın.
İsteğe Bağlı Temizleme
- Remiks projesini yerel olarak silme
cd .. rm -rf remix-app
- Remix Cloud Run hizmetini silme
Devam etmek isteyip istemediğiniz sorulduğundagcloud run services delete remix-app
Enter
tuşuna basarak devam edin.
10. Cloud Shell temizliği
Cloud Shell kullanmıyorsanız veya yalnızca tek bir uygulama dağıtıyorsanız bu adım isteğe bağlıdır
Cloud Shell, 5 GB'lık kalıcı bir ana dizin sunar ve Google Cloud'da çalışır.
Sekiz çerçevenin tamamını Cloud Shell ile dağıtmak istiyorsanız kalan uygulamalar için alan oluşturmanız gerekir.
Cloud Shell'deki projeleri kaldırmak, dağıttığınız dağıtılmış Cloud Run hizmetlerini silmez.
Daha önce oluşturduğunuz uygulamaları temizlemek için şu komutları çalıştırın:
cd ~ rm -rf angular-app/ rm -rf nuxt-app/ rm -rf next-app/ rm -rf remix-app/
11. SvelteKit (Svelte)
- Angular uygulamanızı oluşturmak istediğiniz dizine gidin
cd ~
- SvelteKit uygulaması oluşturma
Tercihleriniz istendiğinde, varsayılanları kabul etmek içinnpx create-svelte svelte-app
Enter
tuşuna basın. - Oluşturduğunuz yeni proje klasörüne gidin
cd svelte-app
- Uygulamayı dağıtın
Tercihleriniz istendiğinde, varsayılanları kabul etmek içingcloud run deploy --allow-unauthenticated
Enter
tuşuna basın.
Uygulamanızı ziyaret edin
Dağıtım birkaç dakika sürecek. İşlem tamamlandığında Cloud Run aşağıdakine benzer bir URL döndürür:
https://svelte-app-xxxxxxxxxx-uc.a.run.app
Dağıtılan uygulamanızı görüntülemek için sağlanan URL'yi yeni bir tarayıcı sekmesinde açın.
İsteğe Bağlı Temizleme
- SvelteKit projesini yerel olarak silme
cd .. rm -rf svelte-app
- SvelteKit Cloud Run hizmetini silme
Devam etmek isteyip istemediğiniz sorulduğundagcloud run services delete svelte-app
Enter
tuşuna basarak devam edin.
12. Katı Başlatma (Düz)
- Angular uygulamanızı oluşturmak istediğiniz dizine gidin
cd ~
- SolidStart uygulaması oluşturma
Tercihleriniz istendiğinde, varsayılanları kabul etmek içinnpx create-solid solid-app
Enter
tuşuna basın. - Oluşturduğunuz yeni proje klasörüne gidin
cd solid-app
- Uygulamayı dağıtın
Tercihleriniz istendiğinde, varsayılanları kabul etmek içingcloud run deploy --allow-unauthenticated
Enter
tuşuna basın.
Uygulamanızı ziyaret edin
Dağıtım birkaç dakika sürecek. İşlem tamamlandığında Cloud Run aşağıdakine benzer bir URL döndürür:
https://solid-app-xxxxxxxxxx-uc.a.run.app
Dağıtılan uygulamanızı görüntülemek için sağlanan URL'yi yeni bir tarayıcı sekmesinde açın.
İsteğe Bağlı Temizleme
- SolidStart projesini yerel olarak silin
cd .. rm -rf solid-app
- SolidStart Cloud Run hizmetini silme
Devam etmek isteyip istemediğiniz sorulduğundagcloud run services delete solid-app
Enter
tuşuna basarak devam edin.
13. Astro
- Angular uygulamanızı oluşturmak istediğiniz dizine gidin
cd ~
- Astro uygulaması oluşturma
Tercihleriniz istendiğinde, varsayılanları kabul etmek içinnpx create-astro astro-app
Enter
tuşuna basın. - Oluşturduğunuz yeni proje klasörüne gidin
cd astro-app
- Node.js için Astro bağdaştırıcısını ekleme
npx astro add node
start
komut dosyasınıpackage.json
uygulamasında güncelleyinnpm pkg set scripts.start="HOST=0.0.0.0 node ./dist/server/entry.mjs"
- Uygulamayı dağıtın
Tercihleriniz istendiğinde, varsayılanları kabul etmek içingcloud run deploy --allow-unauthenticated
Enter
tuşuna basın.
Uygulamanızı ziyaret edin
Dağıtım birkaç dakika sürecek. İşlem tamamlandığında Cloud Run aşağıdakine benzer bir URL döndürür:
https://astro-app-xxxxxxxxxx-uc.a.run.app
Dağıtılan uygulamanızı görüntülemek için sağlanan URL'yi yeni bir tarayıcı sekmesinde açın.
İsteğe Bağlı Temizleme
- Astro projesini yerel olarak silme
cd .. rm -rf astro-app
- Astro Cloud Run hizmetini silme
Devam etmek isteyip istemediğiniz sorulduğundagcloud run services delete astro-app
Enter
tuşuna basarak devam edin.
14. Qwik
- Angular uygulamanızı oluşturmak istediğiniz dizine gidin
cd ~
- Qwik uygulaması oluşturma
Tercihleriniz istendiğinde, varsayılanları kabul etmek içinnpx create-qwik
Enter
tuşuna basın. - Oluşturduğunuz yeni proje klasörüne gidin
cd qwik-app
- Cloud Run için Qwik adaptörü ekleme
npm run qwik add cloud-run
- Uygulamayı dağıtın
Tercihleriniz istendiğinde, varsayılanları kabul etmek içingcloud run deploy --allow-unauthenticated
Enter
tuşuna basın.
Uygulamanızı ziyaret edin
Dağıtım birkaç dakika sürecek. İşlem tamamlandığında Cloud Run aşağıdakine benzer bir URL döndürür:
https://qwik-app-xxxxxxxxxx-uc.a.run.app
Dağıtılan uygulamanızı görüntülemek için sağlanan URL'yi yeni bir tarayıcı sekmesinde açın.
İsteğe Bağlı Temizleme
- Qwik projesini yerel olarak silme
cd .. rm -rf qwik-app
- Qwik Cloud Run hizmetini silme
Devam etmek isteyip istemediğiniz sorulduğundagcloud run services delete qwik-app
Enter
tuşuna basarak devam edin.
15. Tebrikler!
Tebrikler, codelab'i tamamladınız.
Gelecekteki derlemelerinizin her sürüme aktar
İşlediğimiz konular
- Cloud Build'in otomatik olarak desteklediği JavaScript çerçevelerini dağıtma
- Angular SSR - Angular'a göre
- Nuxt.js - Vue.js tabanlı
- Next.js - React'e dayalı
- Remiks - tepkiye göre
- SvelteKit - Svelte'e göre
- SolidStart - Solid.js tabanlı
- Yapılandırma gerektiren JavaScript çerçeveleri nasıl dağıtılır?
- Astro
- Qwik
16. Temizleme
Yanlışlıkla yapılan ücretleri önlemek için (örneğin, bu Cloud Run hizmeti yanlışlıkla ücretsiz katmandaki aylık Cloud Run çağırma tahsisinizden daha fazla kez çağrıldıysa) Cloud Run işini veya 1. adımda oluşturduğunuz projeyi silebilirsiniz.
Cloud Run hizmetlerini silmek için https://console.cloud.google.com/run/ adresinden Cloud Run Cloud Console'a gidip Cloud Run hizmetlerini silin.
Projenin tamamını silmeyi tercih ederseniz https://console.cloud.google.com/cloud-resource-manager adresine gidip 2. adımda oluşturduğunuz projeyi, ardından Sil'i seçebilirsiniz. Projeyi silerseniz Cloud SDK'nızdaki projeleri değiştirmeniz gerekir. gcloud projects list
komutunu çalıştırarak mevcut tüm projelerin listesini görüntüleyebilirsiniz.