ABBY CAREY: Hei, Martin, apa yang sedang kamu kerjakan? MARTIN OMANDER: Hei, Abby. Saya sedang membangun aplikasi situs web baru untuk guru. Dan itu akan menggunakan Cloud Run. Apakah ada cara mudah untuk memulai?
ABBY CAREY: Apakah Anda menggunakan Kode Visual Studio? MARTIN OMANDER: Ya, saya. ABBY CAREY: Sempurna. Izinkan saya menunjukkan kepada Anda bagaimana Anda dapat menggunakan ekstensi Cloud Run untuk membuat aplikasi pemula, menjalankannya secara lokal, dan menerapkannya ke cloud dalam hitungan menit. [MUSIK BERMAIN] Jadi mari kita lihat apa yang kita punya di sini.
MARTIN OMANDER: Jadi saya membuat proyek di sini di Cloud Console dan membuat folder kosong di hard drive lokal saya. Sekarang, saya tidak yakin apa yang harus dilakukan selanjutnya. ABBY CAREY: Dengan Cloud Code, Anda bisa mengaktifkan dan menjalankan aplikasi hello world dengan cepat. Cloud Code memiliki repositori sampel yang menunjukkan praktik terbaik untuk berbagai bahasa. Mereka adalah titik awal yang baik dan juga referensi yang bagus untuk melihat praktik terbaik dalam tindakan.
Apakah ada bahasa yang Anda minati untuk memulai? MARTIN OMANDER: Ya, mari kita buat aplikasi Node.js. ABBY CAREY: Luar biasa. Pertama, Anda harus menginstal Cloud Code.
Silakan dan klik ikon Ekstensi. MARTIN OMANDER: Baiklah. Ya, saya melakukannya. ABBY CAREY: Sekarang ketik Cloud Code. MARTIN OMANDER: Kode Cloud.
Ini dia. ABBY CAREY: Ya. Tekan tombol Instal. MARTIN OMANDER: Baiklah, instal. Menginstal.
Baiklah. ABBY CAREY: Sekarang ada ikon baru di sebelah kiri dan tombol Cloud Code di bilah status Anda. MARTIN OMANDER: Ah. Ya. ABBY CAREY: Mari kita mulai contoh Node.
js dunia. Pertama klik tombol Cloud Code di status bar. Kemudian pilih Aplikasi Baru– MARTIN OMANDER: Aplikasi Baru, ya. ABBY CAREY: –Cloud Run– MARTIN OMANDER: Aplikasi Cloud Run, ya.
ABBY CAREY: –dan Node.
js Cloud Run MARTIN OMANDER: Node.js Cloud Run. OKE. Halo, dunia 1, tentu saja. Taruh di sana.
Oh, itu sedang mengunduh sampel. Besar. Luar biasa. Sepertinya ada beberapa kode di sini, index.js dan file Docker di sini juga.
Itu bagus karena file Docker terkadang agak sulit untuk ditulis. ABBY CAREY: Ya. Sampel ini dapat dibuat dengan Docker atau Buildpacks. MARTIN OMANDER: Jadi, Abby, Anda menyebutkan sebelumnya bahwa saya dapat menjalankan layanan Cloud Run saya secara lokal. Bagaimana saya melakukannya?
ABBY CAREY: Cloud Code hadir dengan emulator Cloud Run. Emulator mengemulasi lingkungan Cloud Run secara lokal. Untuk menggunakannya, Anda harus menginstal Docker terlebih dahulu. MARTIN OMANDER: Oke. Biarkan saya melakukan pencarian cepat tentang cara melakukannya.
Instal Docker Mac. Oke, Docker Desktop di Mac. OKE. Jadi saya akan menginstal ini. Mari kita isi ulang teh kita dan bertemu kembali dalam beberapa menit.
ABBY CAREY: Kedengarannya bagus. MARTIN OMANDER: Sekarang saya telah menginstal Docker. Dan saya juga telah memulai Docker Desktop dan saya bahkan dapat melihat simbol Docker kecil di sini di bilah alat saya.
ABBY CAREY: Luar biasa. Mari kita coba menjalankan ini secara lokal sekarang.
Pertama, pastikan Anda masuk. Klik tombol Cloud Code Cloud Run. Dan sekarang klik tombol Login kecil di sana. MARTIN OMANDER: Klik Di Sini untuk Masuk? ABBY CAREY: Ya.
MARTIN OMANDER: Sangat bagus. Uh-huh, sesuatu terjadi. Oh, lihat itu. Saya ingin memilih akun ini. Lihat data saya, lihat kelola sumber daya Compute Engine.
Tentu. Anda sekarang diautentikasi dengan Google Cloud SDK. ABBY CAREY: Bagus. MARTIN OMANDER: Yay. ABBY CAREY: Sekarang kembali ke VS Code, mari kita lanjutkan dan klik tombol Cloud Code di bagian bawah layar lagi di status bar.
MARTIN OMANDER: Sepertinya saya memiliki proyek yang salah di sini. Bagaimana cara mengubah proyek? ABBY CAREY: Oh, ya, Anda harus mengklik tombol Switch kecil itu. MARTIN OMANDER: Oh, yang ini. OKE.
Mengerti. ABBY CAREY: Ya. MARTIN OMANDER: Mari kita lihat. Bantuan Guru, oke. ABBY CAREY: Ya.
MARTIN OMANDER: Ah, bantuan guru, tidak ada layanan Cloud Run dalam proyek itu. Kedengarannya benar. ABBY CAREY: Sekarang lanjutkan dan klik tombol Cloud Code di bagian bawah layar. MARTIN OMANDER: Kode Cloud, di bagian bawah layar.
OKE.
Aku disini. ABBY CAREY: Ya. Dan sekarang bisa berjalan di Cloud Run Emulator. MARTIN OMANDER: Jalankan di emulator. ABBY CAREY: Dengan menyiapkannya, Anda mendapatkan opsi konfigurasi yang sama seperti yang Anda lihat saat menerapkan ke cloud kecuali Anda menerapkan secara lokal ke emulator.
Silakan dan di Build Settings, mari alihkan builder ke Buildpacks. Dengan begitu, Anda akan mendapatkan hot reload. Ini membuat pembaruan kode menjadi sangat cepat. Sekarang, buka Tampilkan Pengaturan Lanjutan. Untuk mengemulasi terbaik yang berjalan di Cloud Run, setel CPU ke Satu CPU Virtual.
MARTIN OMANDER: CPU, satu. OKE. ABBY CAREY: Sekarang gulir ke bawah dan klik Jalankan. MARTIN OMANDER: Oke. Ayo lihat.
Ah, itu dia, Lari. ABBY CAREY: Pertama kali Anda memulai lift dapat memakan waktu sekitar lima menit.
Jadi, ambil camilan untuk menemani teh itu. Masa depan akan jauh lebih cepat. MARTIN OMANDER: Baiklah, Abby.
Sepertinya sudah selesai. Ayo lihat. URL yang diteruskan dari layanan hello world. Apakah saya mengklik tautan ini di sini? ABBY CAREY: Ya.
MARTIN OMANDER: Mari kita lihat. Oh, lihat itu. Ini berjalan! ABBY CAREY: Ya, ada contoh aplikasi Anda yang berjalan di emulator. MARTIN OMANDER: Luar biasa!
Itu sangat mudah. Jadi sekarang sudah berjalan di emulator, apa yang terjadi jika saya membuat perubahan pada kode saya? ABBY CAREY: Silakan dan ujilah. Mungkin coba perbarui respons utama pada baris 47 dari file index.js Anda untuk mengembalikan pesan sederhana.
MARTIN OMANDER: Oh, benar. Jadi sekarang sedang mengkompilasi template setang atau sesuatu, template, dan mengeluarkan semua HTML dari template. Tapi aku akan menggantinya.
Jadi alih-alih itu akan mengatakan halo dunia! Dan saya menyimpan itu.
Oh, sesuatu terjadi di bawah sini. Sepertinya baru saja diperbarui. Biarkan saya menyegarkan browser. Halo Dunia! Ini diperbarui.
ABBY CAREY: Cloud Code mendukung hot reload saat membuat aplikasi Node.js dengan Buildpacks, yang membuat pembaruan membutuhkan waktu beberapa detik. Jika Anda malah membangun dengan file Docker , pembangunan kembali dan penerapan ulang yang lengkap akan terjadi, yang tidak secepat itu. Pembaruan itu dimulai setelah menyimpan karena Anda telah mengaktifkan mode tontonan dalam satu konfigurasi yang baru saja kami buat. Itu dapat dimatikan kapan saja jika Anda tidak menyukai fitur ini.
MARTIN OMANDER: Oke. Itu tidak terlalu sulit. UI Cloud Code sangat mirip dengan Cloud Console. Tetapi saya berencana untuk menambahkan Datastore ke layanan Cloud Run saya.
Bisakah ekstensi Cloud Code membantu saya dalam hal itu juga?
ABBY CAREY: Sebenarnya bisa. Cloud Code memiliki Penjelajah API GCP terintegrasi. Cukup klik ikon Cloud Code API di sebelah kiri sana. MARTIN OMANDER: Mari kita lihat. Dikatakan API di sini.
Apakah ini satu? ABBY CAREY: Ya. MARTIN OMANDER: Oh, saya melihat banyak Google API di sini. Mari kita lihat, database, database– ooh, Cloud Datastore API, ini dia.
ABBY CAREY: Mm-hmm.
Sekarang, jika Anda menggulir sedikit ke bawah di sini– oh, sepertinya, dari sini, Anda dapat mengaktifkan API dengan satu klik dan membaca tentang bagaimana Anda bisa membuatnya bekerja di proyek Anda. Sepertinya Datastore diaktifkan secara default, yang menghemat klik di sini. Sekarang lanjutkan dan instal pustaka klien. MARTIN OMANDER: Ah, instal pustaka klien. Mari kita lihat, bukan Jawa.
Node.js– ooh, tombol Putar kecil ini di sana. Oh keren. Itu menjalankan npm install untuk perpustakaan Datastore. Sekarang saya sudah menginstal paket NPM Datastore di sini.
Jadi saya punya– saya bisa menggunakan Datastore. Dan kemudian dalam proyek Bantuan Guru, saya sebelumnya telah menyiapkan Datastore dan memasukkan beberapa data. Mari saya tunjukkan. Jadi di sini saya memasukkan jenisnya, tentu saja. Jadi ini adalah kursus.
Dan saya memasukkan dua mata kuliah sejauh ini, trigonometri dan kalkulus. ABBY CAREY: Sekarang kembali ke VS Code. Seharusnya ada tautan dokumentasi yang berguna untuk membantu Anda memulai dengan Datastore API.
MARTIN OMANDER: Mari kita lihat, aktifkan API– ah, dokumentasi. Mari kita masuk dan melihat itu.
Jadi, inilah beberapa kode untuk klien Cloud Datastore Node.js, terlihat bagus. Instal perpustakaan, OK, itu sudah terjadi. Buat ini sedikit lebih besar. Menggunakan perpustakaan klien– Oke, ini terlihat menjanjikan.
Sepertinya sedang membuat entitas baru. Bukan itu yang ingin saya lakukan. Saya ingin membaca entitas saya yang ada , kursus trigonometri dan kalkulus dari database. Mari kita lihat, saya akan terus menggulir, menangani kesalahan, mengimpor tugas, menghapus– oh, daftar tugas. Boleh juga.
Saya akan klik di sana. Baiklah. Di sini kami memiliki beberapa kode yang menunjukkan cara menggunakan perpustakaan Datastore. Jadi saya kira kita perlu mendeklarasikan impor memerlukan Datastore di bagian atas kode. Jadi saya akan menyalinnya– mari kita lihat– di sini di dekat bagian atas kode, tempel di Datastore.
OKE. Membutuhkan Datastore. Dan sepertinya ada fungsi yang disebut listTasks. Tampaknya menjalankan kueri terhadap Datastore. Itu terlihat menjanjikan.
Saya hanya akan menempelkan seluruh fungsi itu di sini di bagian atas juga. Dan kemudian saya kira ini hanya fungsi yang tidak dipanggil dari mana pun. Jadi saya hanya akan, di awal main saya di sini, saya sebut saja.
Dan itu tidak sinkron, jadi saya akan menunggu di sana. Dan sepertinya kodenya– Saya melihatnya di sini.
Ini mencetak barang ke konsol. Jadi itu tidak menunjukkan apa pun kepada pengguna di browser. Tapi itu mencetak ke log server. Dikatakan tugas. Dan kemudian ia membahas semua tugas dalam database dan mencetaknya di konsol server.
Jadi saya akan menekan Save lagi dan hasilnya di sini. ABBY CAREY: Itu seharusnya memicu hot reload di sana. MARTIN OMANDER: Uh-huh.
Sangat bagus. Saya melihat bahwa.
Dan pergi ke server kita pergi. Lokalhost. Biarkan saya memuat ulang ini. Sangat bagus. Masih mengatakan Halo dunia!
Aku tidak merusak apapun. Sekarang, di mana saya dapat melihat log server saya, pernyataan log konsol ini? ABBY CAREY: Jadi lanjutkan dan kembali ke kode VS. Dan Anda melihat dropdown kecil di sana yang mengatakan Cloud Run, Run Debug? Klik itu.
MARTIN OMANDER: Ya. ABBY CAREY: Dan kemudian beralih ke tampilan Detail. MARTIN OMANDER: Oh, rinci. Uh huh. Sangat bagus.
Ah, inilah tugas. Itu sesuai dengan baris 27 di sini, sangat bagus. Dan kemudian ia harus mengulang semua tugas dan mencetaknya di sini pada baris 30.
Tapi ternyata tidak. Sepertinya, Abby, saya memiliki bug dalam kode saya di sini.
Saya berharap untuk melihat nama mata kuliah saya, trigonometri dan kalkulus. Apakah ada cara untuk men-debug kesalahan ini? ABBY CAREY: Oh, ya. Pertama, lanjutkan dan klik tombol Stop di bagian atas sana. MARTIN OMANDER: Berhenti.
ABBY CAREY: Sekarang pastikan Anda memiliki Debug Toggle Auto Attach set ke Smarter Always. MARTIN OMANDER: Baiklah, Debug Toggle Auto Attach, ah, sudah diatur ke Smart. Bagus. ABBY CAREY: Ya. Dan ini membuatnya agar kita dapat melampirkan ke aplikasi yang sedang berjalan untuk debugging.
Sekarang tempatkan breakpoint di tempat masalah. MARTIN OMANDER: Jadi saya pikir di sini pada baris 26, di sinilah kita membaca elemen, catatan, dari database. Jadi mungkin saya akan menempatkan breakpoint di sini pada 27 sehingga kita dapat mengharapkan apa yang terkandung dalam variabel tugas.
ABBY CAREY: Terlihat bagus. Jadi sekarang mari kita lanjutkan dan klik bilah status Cloud Code itu lagi.
MARTIN OMANDER: Baiklah. Kode Cloud– ah, itu dia. ABBY CAREY: Dan kemudian klik Debug di Cloud Run Emulator. MARTIN OMANDER: Ah, Debug, saya melihatnya. ABBY CAREY: Ya.
Sekarang kita akan men-debug ini secara lokal. MARTIN OMANDER: Oh, itu beralih kembali ke Visual Studio Code. Di debugger di sini. Saya melihatnya karena itu bilah status oranye. Dan, oh, lihat, itu mengenai breakpoint saya, breakpoint ini pada 27.
Jadi mari kita lihat di sini. Tugas, itulah yang ingin saya lihat. Jadi tugas adalah array. Bagus. Oh, array dengan panjang 0.
Hmm, jadi tidak mendapatkan apa pun dari database. Ah, sepertinya aku tahu kenapa. Di sini saya mencari entitas tugas di database. Dan database saya tidak memiliki entitas tugas. Mereka entitas kursus.
Jadi saya akan menyalin itu. Dan saya akan mencari entitas kursus. Dan saya tidak akan mengurutkannya berdasarkan yang dibuat. Saya akan mengurutkannya berdasarkan– karena saya tidak punya yang dibuat. Namun, mereka memiliki nama, jadi saya akan mengurutkannya berdasarkan nama.
Nama, itu dia. saya sedang menabung. ABBY CAREY: Jadi mode tontonan tidak berfungsi saat debugging. Jadi lanjutkan dan untuk melihat perbaikan bug Anda, mari lepaskan debugger kami dengan mengklik tombol Cabut kecil di sana.
MARTIN OMANDER: Mencabut.
ABBY CAREY: Dan tekan Stop. MARTIN OMANDER: Berhenti. ABBY CAREY: Sekarang klik bilah status Cloud Code itu lagi. MARTIN OMANDER: Baiklah. ABBY CAREY: Dan mari kita Jalankan Cloud Run Emulator sekali lagi.
MARTIN OMANDER: Sekali lagi. Sepertinya itu mulai berjalan. Saya akan menekan URL host lokal itu lagi. Dikatakan Halo dunia! Bagus, tidak ada yang rusak.
Dan sekarang saya akan kembali dan memeriksa log server. Jadi Anda bilang mereka ada di Detail, kan? ABBY CAREY: Ya. MARTIN OMANDER: Mari kita lihat. Oh lihat!
Nama, trigonometri, sangat bagus, dan nama, kalkulus, dan diurutkan berdasarkan nama.
ABBY CAREY: Woo! Luar biasa! Keren, Anda memperbaiki bug. MARTIN OMANDER: Ya, sangat bagus.
Jadi layanan kecil ini tampak hebat. Sekarang, jika saya ingin menyebarkannya ke Cloud, apakah saya harus mengetahui G Cloud yang rumit itu? ABBY CAREY: Tidak. Cloud Code dapat melakukannya untuk Anda. Sama seperti menjalankan emulator, paket Cloud Code disebarkan ke Cloud dalam beberapa klik.
Lanjutkan dan klik bilah status Cloud Code itu lagi dan pilih Deploy to Cloud Run. MARTIN OMANDER: Kode Cloud, ah, Terapkan ke Cloud Run.
ABBY CAREY: Anda dapat melihat semua opsi layanan. Silakan dan pertahankan semua default dan cukup klik Deploy. MARTIN OMANDER: Ah, begitulah, Deploy.
saya sedang menyebarkan. ABBY CAREY: Dan sekarang sedang membangun image container Anda, mendorongnya ke Container Registry Anda, dan men-deploy-nya Cloud Run. Dikelola. Oh, sepertinya sudah selesai, lanjutkan dan klik tautan itu. MARTIN OMANDER: Aha, halo dunia di run.
app. Dingin. Ayo lihat. ABBY CAREY: Sekarang, ini adalah layanan Anda yang berjalan di Cloud Run. Siapapun bisa mengaksesnya sekarang.
MARTIN OMANDER: Woo-hoo! Senang rasanya akhirnya bisa menjalankan sesuatu di Cloud Run dan tidak perlu mengetikkan perintah G Cloud apa pun. Bisakah Anda melakukan hal lain Cloud Run terkait dengan ekstensi Cloud Code ? ABBY CAREY: Ya, sekarang setelah Anda memiliki layanan Cloud Run, Anda dapat melihat detailnya dari Cloud Run Explorer. Mari kita lanjutkan dan kembali ke VS Code dan klik tombol Cloud Code Cloud Run itu.
Ya. Dan jika Anda– itu dia. Ada layanan Anda. Jadi, jika Anda melanjutkan dan memperluas dropdown itu di layanan Anda, di sinilah Anda dapat melihat detail cepat tentang layanan Anda, seperti alokasi lalu lintas dan URL-nya.
Yang lebih keren lagi adalah dapat melihat log layanan Cloud Run Anda dari IDE Anda.
Silakan dan arahkan ke layanan Anda dengan sangat cepat. MARTIN OMANDER: Di atas sini? ABBY CAREY: Ya. Dan sekarang klik tombol Login kecil di sebelah kanan. MARTIN OMANDER: Ah.
Ini berarti masuk. Oh, lihat log, katanya sebagai tooltip. ABBY CAREY: Mm-hmm. MARTIN OMANDER: Baiklah. Jadi saya bisa mengatur filter, log apa yang ingin saya lihat.
Ini terlihat seperti default yang masuk akal. Saya ingin melihat log Cloud Run saya, dan itu telah dipilih di sini. ABBY CAREY: Ya, itu juga mengambilnya untuk layanan Anda.
Jadi ini semua log dari layanan Anda. MARTIN OMANDER: Aha!
Dan lihat itu, ada trigonometri teman baik saya. Dan ada kalkulus. Berhasil. Hai, Abby, terima kasih telah menunjukkan kepada saya cara menjalankan dan men -debug layanan Cloud Run saya secara lokal dan cara menerapkannya dengan satu klik. ABBY CAREY: Ya, ekstensi Cloud Code membuat segalanya menjadi sangat sederhana.
Pastikan untuk menginstal ekstensi Cloud Code dari VS Code Marketplace dan cobalah. Beri tahu kami di komentar apa pendapat Anda tentang hal itu. MARTIN OMANDER: Kedengarannya bagus. Sampai jumpa lain waktu.