1. Pengantar
Dalam codelab ini, Anda akan mempelajari cara membuat dan men-deploy Perencana Diet Agen yang Didukung AI. Untuk UI menggunakan Streamlit, model LLM menggunakan Gemini Pro 2.5, Agentic AI Engine Orchestrator menggunakan Vertex AI untuk pengembangan Agentic AI, BigQuery untuk menyimpan data, dan Cloud Run untuk deployment.
Selama mengikuti codelab, Anda akan menggunakan pendekatan langkah demi langkah sebagai berikut:
- Siapkan project Google Cloud Anda dan Aktifkan semua API yang diperlukan di project tersebut
- Membangun Perencana Diet AI Agentik menggunakan streamlit, Vertex AI, dan BigQuery
- Men-deploy aplikasi ke Cloud Run
Ringkasan Arsitektur
Prasyarat
- Project Google Cloud Platform (GCP) dengan penagihan diaktifkan.
- Pengetahuan dasar Python
Yang akan Anda pelajari
- Cara membuat Perencana Diet AI Agentik menggunakan streamlit, Vertex AI, dan menyimpan data ke BigQuery
- Cara men-deploy aplikasi ke Cloud Run
Yang Anda butuhkan
- Browser web Chrome
- Akun Gmail
- Project Cloud dengan penagihan diaktifkan
2. Penyiapan Dasar dan Persyaratan
Penyiapan lingkungan mandiri
- Login ke Google Cloud Console dan buat project baru atau gunakan kembali project yang sudah ada. Jika belum memiliki akun Gmail atau Google Workspace, Anda harus membuatnya.
- Nama project adalah nama tampilan untuk peserta project ini. String ini adalah string karakter yang tidak digunakan oleh Google API. Anda dapat memperbaruinya kapan saja.
- Project ID bersifat unik di semua project Google Cloud dan tidak dapat diubah (tidak dapat diubah setelah ditetapkan). Cloud Console otomatis membuat string unik; biasanya Anda tidak mementingkan kata-katanya. Di sebagian besar codelab, Anda harus merujuk Project ID-nya (umumnya diidentifikasi sebagai
PROJECT_ID
). Jika tidak suka dengan ID yang dibuat, Anda dapat membuat ID acak lainnya. Atau, Anda dapat mencobanya sendiri, dan lihat apakah ID tersebut tersedia. ID tidak dapat diubah setelah langkah ini dan tersedia selama durasi project. - Sebagai informasi, ada nilai ketiga, Project Number, yang digunakan oleh beberapa API. Pelajari lebih lanjut ketiga nilai ini di dokumentasi.
- Selanjutnya, Anda harus mengaktifkan penagihan di Konsol Cloud untuk menggunakan resource/API Cloud. Menjalankan operasi dalam codelab ini tidak akan memakan banyak biaya, bahkan mungkin tidak sama sekali. Guna mematikan resource agar tidak menimbulkan penagihan di luar tutorial ini, Anda dapat menghapus resource yang dibuat atau menghapus project-nya. Pengguna baru Google Cloud memenuhi syarat untuk mengikuti program Uji Coba Gratis senilai $300 USD.
3. Sebelum memulai
Menyiapkan Project Cloud di Cloud Shell Editor
Codelab ini mengasumsikan bahwa Anda sudah memiliki project Google Cloud dengan penagihan yang diaktifkan. Jika belum memilikinya, Anda dapat mengikuti petunjuk di bawah untuk memulai.
- Di Konsol Google Cloud, di halaman pemilih project, pilih atau buat project Google Cloud.
- Pastikan penagihan diaktifkan untuk project Cloud Anda. Pelajari cara memeriksa apakah penagihan telah diaktifkan pada suatu project .
- Anda akan menggunakan Cloud Shell, lingkungan command line yang berjalan di Google Cloud yang telah dilengkapi dengan bq. Klik Activate Cloud Shell di bagian atas konsol Google Cloud.
- Setelah terhubung ke Cloud Shell, Anda dapat memeriksa bahwa Anda sudah diautentikasi dan project sudah ditetapkan ke project ID Anda menggunakan perintah berikut:
gcloud auth list
- Jalankan perintah berikut di Cloud Shell untuk mengonfirmasi bahwa perintah gcloud mengetahui project Anda.
gcloud config list project
- Jika project Anda belum ditetapkan, gunakan perintah berikut untuk menetapkannya:
gcloud config set project <YOUR_PROJECT_ID>
Atau, Anda juga dapat melihat ID PROJECT_ID
di konsol
Klik project tersebut dan Anda akan melihat semua project dan project ID di sisi kanan
- Aktifkan API yang diperlukan melalui perintah yang ditampilkan di bawah. Proses ini mungkin memerlukan waktu beberapa menit, jadi harap bersabar.
gcloud services enable aiplatform.googleapis.com \
run.googleapis.com \
cloudbuild.googleapis.com \
cloudresourcemanager.googleapis.com \
bigquery.googleapis.com
Jika perintah berhasil dieksekusi, Anda akan melihat pesan yang mirip dengan yang ditampilkan di bawah:
Operation "operations/..." finished successfully.
Alternatif untuk perintah gcloud adalah melalui konsol dengan menelusuri setiap produk atau menggunakan link ini.
Jika ada API yang terlewat, Anda dapat mengaktifkannya kapan saja selama pelaksanaan.
Baca dokumentasi untuk mempelajari perintah gcloud dan penggunaannya.
Menyiapkan Direktori Kerja Aplikasi
- Klik tombol Open Editor, yang akan membuka Cloud Shell Editor, kita dapat menulis kode di sini
- Pastikan project Cloud Code ditetapkan di pojok kiri bawah (status bar) editor Cloud Shell, seperti yang ditandai dalam gambar di bawah dan ditetapkan ke project Google Cloud aktif tempat Anda mengaktifkan penagihan. Authorize jika diminta. Mungkin perlu waktu beberapa saat setelah menginisialisasi Editor Cloud Shell hingga tombol Cloud Code - Sign In muncul, jadi harap bersabar.
Selanjutnya, kita akan menyiapkan lingkungan Python
Penyiapan Lingkungan
Menyiapkan Lingkungan Virtual Python
Langkah berikutnya adalah menyiapkan lingkungan pengembangan. Kita akan menggunakan Python 3.12 dalam codelab ini dan kita akan menggunakan virtualenv Python untuk menyederhanakan kebutuhan pembuatan dan pengelolaan versi Python serta lingkungan virtual
- Jika Anda belum membuka terminal, buka dengan mengklik Terminal -> New Terminal , atau gunakan Ctrl + Shift + C
- Buat folder baru dan ubah lokasi ke folder ini dengan menjalankan perintah berikut
mkdir agent_diet_planner
cd agent_diet_planner
- Buat virtualenv baru dengan menjalankan perintah berikut
python -m venv .env
- Aktifkan virtualenv dengan perintah berikut
source .env/bin/activate
- Buat
requirements.txt
. Klik File → New Text File, lalu isi dengan konten di bawah. Kemudian simpan sebagairequirements.txt
streamlit==1.33.0
google-cloud-aiplatform
google-cloud-bigquery
pandas==2.2.2
db-dtypes==1.2.0
pyarrow==16.1.0
- Kemudian, instal semua dependensi dari requirements.txt dengan menjalankan perintah berikut
pip install -r requirements.txt
- Ketik perintah berikut di bawah untuk memeriksa apakah semua dependensi library python telah diinstal
pip list
Menyiapkan File Konfigurasi
Sekarang kita perlu menyiapkan file konfigurasi untuk project ini. File konfigurasi digunakan untuk menyimpan kredensial variabel dan akun layanan.
- Langkah pertama adalah membuat akun layanan. Ketik akun layanan di penelusuran, lalu klik akun layanan.
- Klik + Buat akun layanan. Masukkan Nama akun layanan, lalu klik buat dan lanjutkan.
- Di izin, Pilih peran Service Account User. Klik + Add another role, lalu pilih peran IAM : BigQuery Admin, Cloud Run Admin, Cloud Run Invoker, Vertex AI Service Agent, dan Vertex AI User, lalu klik Done
- Klik Email akun layanan, klik tombol tab, klik tambahkan kunci → Buat kunci baru.
- Pilih json, lalu klik Buat. Simpan file akun layanan ini ke lokal untuk langkah berikutnya
- Buat folder bernama .streamlit dengan konfigurasi berikut. Klik kanan mouse, Klik Folder Baru, lalu ketik nama folder
.streamlit
- Klik Kanan di folder
.streamlit
, lalu klik File Baru dan isi dengan nilai di bawah. Kemudian simpan sebagaisecrets.toml
# secrets.toml (for Streamlit sharing)
# Store in .streamlit/secrets.toml
[gcp]
project_id = "your_gcp_project"
location = "us-central1"
[gcp_service_account]
type = "service_account"
project_id = "your-project-id"
private_key_id = "your-private-key-id"
private_key = '''-----BEGIN PRIVATE KEY-----
YOUR_PRIVATE_KEY_HERE
-----END PRIVATE KEY-----'''
client_email = "your-sa@project-id.iam.gserviceaccount.com"
client_id = "your-client-id"
auth_uri = "https://accounts.google.com/o/oauth2/auth"
token_uri = "https://oauth2.googleapis.com/token"
auth_provider_x509_cert_url = "https://www.googleapis.com/oauth2/v1/certs"
client_x509_cert_url = "https://www.googleapis.com/robot/v1/metadata/x509/your-sa%40project-id.iam.gserviceaccount.com"
- Perbarui nilai untuk
project_id
,private_key_id
,private_key
,client_email
,client_id , and auth_provider_x509_cert_url
berdasarkan akun layanan yang Anda buat di langkah sebelumnya
Siapkan Set Data BigQuery
Langkah berikutnya adalah membuat Set Data BigQuery untuk menyimpan hasil pembuatan ke BigQuery.
- Ketik BigQuery di penelusuran, lalu klik BigQuery.
- Klik
, lalu klik Buat Set Data
- Masukkan ID set data
diet_planner_data
, lalu klik Buat set data
4. Membangun aplikasi Perencana Diet Agen
Kita akan membuat antarmuka web sederhana dengan 4 input yang terlihat seperti ini
Ubah berat badan, tinggi badan, usia, dan jenis kelamin berdasarkan profil Anda, lalu klik buat. Notebook ini akan memanggil model LLM Gemini Pro 2.5 di library Vertex AI dan menyimpan hasil yang dihasilkan ke BigQuery.
Kode akan dipisahkan menjadi 6 bagian agar tidak terlalu panjang.
Buat fungsi untuk menghitung status BMI
- Klik Kanan folder
agent_diet_planner
→ File Baru .. → masukkan nama filebmi_calc.py
, lalu tekan enter - Isi kode dengan berikut
# Add this function to calculate BMI and health status
def calculate_bmi_status(weight, height):
"""
Calculate BMI and return status message
"""
height_m = height / 100 # Convert cm to meters
bmi = weight / (height_m ** 2)
if bmi < 18.5:
status = "underweight"
message = "⚠️ Your BMI suggests you're underweight. Consider increasing calorie intake with nutrient-dense foods."
elif 18.5 <= bmi < 25:
status = "normal"
message = "✅ Your BMI is in the healthy range. Let's maintain this balance!"
elif 25 <= bmi < 30:
status = "overweight"
message = "⚠️ Your BMI suggests you're overweight. Focus on gradual weight loss through balanced nutrition."
else:
status = "obese"
message = "❗ Your BMI indicates obesity. Please consult a healthcare provider for personalized guidance."
return {
"value": round(bmi, 1),
"status": status,
"message": message
}
Membuat aplikasi utama perencana diet agen
- Klik Kanan folder
agent_diet_planner
→ File Baru .. → masukkan nama fileapp.py
, lalu tekan enter. - Isi kode dengan berikut
import os
from google.oauth2 import service_account
import streamlit as st
from google.cloud import bigquery
from vertexai.preview.generative_models import GenerativeModel
import vertexai
import datetime
import time
import pandas as pd
from bmi_calc import calculate_bmi_status
# Get configuration from environment
PROJECT_ID = os.environ.get("GCP_PROJECT_ID", "your_gcp_project_id")
LOCATION = os.environ.get("GCP_LOCATION", "us-central1")
#CONSTANTS Dataset and table in BigQuery
DATASET = "diet_planner_data"
TABLE = "user_plans"
# Initialize Vertex AI
vertexai.init(project=PROJECT_ID, location=LOCATION)
# Initialize BigQuery client
try:
# For Cloud Run, use default credentials
bq_client = bigquery.Client()
except:
# For local development, use service account from secrets
if "gcp_service_account" in st.secrets:
service_account_info = dict(st.secrets["gcp_service_account"])
credentials = service_account.Credentials.from_service_account_info(service_account_info)
bq_client = bigquery.Client(credentials=credentials, project=PROJECT_ID)
else:
st.error("BigQuery client initialization failed")
st.stop()
Ubah nilai your_gcp_project_id
dengan project ID Anda.
Buat aplikasi utama perencana diet agen - setup_bq_tables
Di bagian ini, kita akan membuat fungsi bernama setup_bq_table
dengan 1 parameter input bq_client
. Fungsi ini akan menentukan skema di tabel BigQuery dan membuat tabel jika belum ada.
Isi kode dengan kode berikut di bawah kode sebelumnya di app.py
# Create BigQuery table if not exists
def setup_bq_table(bq_client):
dataset_id = f"{st.secrets['gcp']['project_id']}.{DATASET}"
table_id = f"{dataset_id}.{TABLE}"
schema = [
bigquery.SchemaField("user_id", "STRING", mode="REQUIRED"),
bigquery.SchemaField("timestamp", "TIMESTAMP", mode="REQUIRED"),
bigquery.SchemaField("weight", "FLOAT", mode="REQUIRED"),
bigquery.SchemaField("height", "INTEGER", mode="REQUIRED"),
bigquery.SchemaField("age", "INTEGER", mode="REQUIRED"),
bigquery.SchemaField("gender", "STRING", mode="REQUIRED"),
bigquery.SchemaField("diet_plan", "STRING", mode="REQUIRED")
]
try:
bq_client.get_table(table_id)
except:
table = bigquery.Table(table_id, schema=schema)
bq_client.create_table(table)
st.toast("BigQuery table created successfully")
Buat aplikasi utama perencana diet agen - generate_diet_plan
Di bagian ini, kita akan membuat fungsi bernama generate_diet_plan
dengan 1 parameter input. Fungsi ini akan memanggil model LLM Gemini Pro 2.5 dengan perintah yang ditentukan dan menghasilkan hasil.
Isi kode dengan kode berikut di bawah kode sebelumnya di app.py
# Generate diet plan using Gemini Pro
def generate_diet_plan(params):
try:
model = GenerativeModel("gemini-2.5-pro")
prompt = f"""
Create a personalized 7-day diet plan for:
- {params['gender']}, {params['age']} years old
- Weight: {params['weight']} kg
- Height: {params['height']} cm
Include:
1. Daily calorie target
2. Macronutrient breakdown (carbs, protein, fat)
3. Meal timing and frequency
4. Food recommendations
5. Hydration guidance
Make the plan:
- Nutritionally balanced
- Practical for daily use
- Culturally adaptable
- With portion size guidance
"""
response = model.generate_content(prompt)
return response.text
except Exception as e:
st.error(f"AI generation error: {str(e)}")
return None
Buat aplikasi utama perencana diet agen - save_to_bq
Di bagian ini, kita akan membuat fungsi bernama save_to_bq
dengan 3 parameter input : bq_client
, user_id
, dan plan
. Fungsi ini akan menyimpan hasil pembuatan ke tabel BigQuery
Isi kode dengan kode berikut di bawah kode sebelumnya di app.py
# Save user data to BigQuery
def save_to_bq(bq_client, user_id, plan):
try:
dataset_id = f"{st.secrets['gcp']['project_id']}.{DATASET}"
table_id = f"{dataset_id}.{TABLE}"
row = {
"user_id": user_id,
"timestamp": datetime.datetime.utcnow().isoformat(),
"weight": st.session_state.user_data["weight"],
"height": st.session_state.user_data["height"],
"age": st.session_state.user_data["age"],
"gender": st.session_state.user_data["gender"],
"diet_plan": plan
}
errors = bq_client.insert_rows_json(table_id, [row])
if errors:
st.error(f"BigQuery error: {errors}")
else:
return True
except Exception as e:
st.error(f"Data saving error: {str(e)}")
return False
Buat aplikasi utama perencana diet agen - main
Di bagian ini, kita akan membuat fungsi bernama main
tanpa parameter input. Fungsi ini sebagian besar menangani skrip UI streamlit, menampilkan hasil yang dihasilkan, menampilkan hasil yang dihasilkan sebelumnya dari tabel BigQuery, dan untuk mendownload data ke file markdown.
Isi kode dengan kode berikut di bawah kode sebelumnya di app.py
# Streamlit UI
def main():
st.set_page_config(page_title="AI Diet Planner", page_icon="🍏", layout="wide")
# Initialize session state
if "user_data" not in st.session_state:
st.session_state.user_data = None
if "diet_plan" not in st.session_state:
st.session_state.diet_plan = None
# Initialize clients
#bq_client = init_clients()
setup_bq_table(bq_client)
st.title("🍏 AI-Powered Diet Planner")
st.markdown("""
<style>
.stProgress > div > div > div > div {
background-color: #4CAF50;
}
[data-testid="stForm"] {
background: #f0f5ff;
padding: 20px;
border-radius: 10px;
border: 1px solid #e6e9ef;
}
</style>
""", unsafe_allow_html=True)
# User input form
with st.form("user_profile", clear_on_submit=False):
st.subheader("Your Profile")
col1, col2 = st.columns(2)
with col1:
weight = st.number_input("Weight (kg)", min_value=30.0, max_value=200.0, value=70.0)
height = st.number_input("Height (cm)", min_value=100, max_value=250, value=170)
with col2:
age = st.number_input("Age", min_value=18, max_value=100, value=30)
gender = st.selectbox("Gender", ["Man", "Woman"])
submitted = st.form_submit_button("Generate Diet Plan")
if submitted:
user_data = {
"weight": weight,
"height": height,
"age": age,
"gender": gender
}
st.session_state.user_data = user_data
# Calculate BMI
bmi_result = calculate_bmi_status(weight, height)
# Display BMI results in a visually distinct box
with st.container():
st.subheader("📊 Your Health Assessment")
col1, col2 = st.columns([1, 3])
with col1:
st.metric("BMI", bmi_result["value"])
with col2:
if bmi_result["status"] != "normal":
st.warning(bmi_result["message"])
else:
st.success(bmi_result["message"])
# Add BMI scale visualization
st.markdown(f"""
<div style="background:#f0f2f6;padding:10px;border-radius:10px;margin-top:10px">
<small>BMI Scale:</small><br>
<div style="display:flex;height:20px;background:linear-gradient(90deg,
#4e79a7 0%,
#4e79a7 18.5%,
#60bd68 18.5%,
#60bd68 25%,
#f28e2b 25%,
#f28e2b 30%,
#e15759 30%,
#e15759 100%);position:relative">
<div style="position:absolute;left:{min(100, max(0, (bmi_result["value"]/40)*100))}%;top:-5px">
▼
</div>
</div>
<div style="display:flex;justify-content:space-between">
<span>Underweight (<18.5)</span>
<span>Healthy (18.5-25)</span>
<span>Overweight (25-30)</span>
<span>Obese (30+)</span>
</div>
</div>
""", unsafe_allow_html=True)
# Store BMI in session state
st.session_state.bmi = bmi_result
# Plan generation and display
if submitted and st.session_state.user_data:
with st.spinner("🧠 Generating your personalized diet plan using Gemini AI..."):
#diet_plan = generate_diet_plan(st.session_state.user_data)
diet_plan = generate_diet_plan({**st.session_state.user_data,"bmi": bmi_result["value"],
"bmi_status": bmi_result["status"]
})
if diet_plan:
st.session_state.diet_plan = diet_plan
# Generate unique user ID
user_id = f"user_{int(time.time())}"
# Save to BigQuery
if save_to_bq(bq_client, user_id, diet_plan):
st.toast("✅ Plan saved to database!")
# Display generated plan
if st.session_state.diet_plan:
st.subheader("Your Personalized Diet Plan")
st.markdown("---")
st.markdown(st.session_state.diet_plan)
# Download button
st.download_button(
label="Download Plan",
data=st.session_state.diet_plan,
file_name="my_diet_plan.md",
mime="text/markdown"
)
# Show history
st.subheader("Your Plan History")
try:
query = f"""
SELECT timestamp, weight, height, age, gender
FROM `{st.secrets['gcp']['project_id']}.{DATASET}.{TABLE}`
WHERE user_id LIKE 'user_%'
ORDER BY timestamp DESC
LIMIT 5
"""
history = bq_client.query(query).to_dataframe()
if not history.empty:
history["timestamp"] = pd.to_datetime(history["timestamp"])
st.dataframe(history.style.format({
"weight": "{:.1f} kg",
"height": "{:.0f} cm"
}))
else:
st.info("No previous plans found")
except Exception as e:
st.error(f"History load error: {str(e)}")
if __name__ == "__main__":
main()
Simpan kode dengan nama app.py.
5. Men-deploy aplikasi menggunakan Cloud Build ke Cloud Run
Sekarang, tentu saja kita ingin memamerkan aplikasi luar biasa ini kepada orang lain. Untuk melakukannya, kita dapat mengemas aplikasi ini dan men-deploy-nya ke Cloud Run sebagai layanan publik yang dapat diakses oleh orang lain. Untuk melakukannya, mari kita bahas kembali arsitekturnya
Pertama, kita memerlukan Dockerfile. Klik File->New Text File, lalu salin dan tempel kode berikut, kemudian simpan sebagai Dockerfile
# Use official Python image
FROM python:3.12-slim
# Set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
ENV PORT 8080
# Install system dependencies
RUN apt-get update && \
apt-get install -y --no-install-recommends \
build-essential \
libpq-dev \
&& rm -rf /var/lib/apt/lists/*
# Set working directory
WORKDIR /app
# Copy requirements
COPY requirements.txt .
# Install Python dependencies
RUN pip install --no-cache-dir -r requirements.txt
# Copy application files
COPY . .
# Expose port
EXPOSE $PORT
# Run the application
CMD ["streamlit", "run", "app.py", "--server.port", "8080", "--server.address", "0.0.0.0"]
Selanjutnya, kita akan membuat cloudbuild.yaml untuk membangun aplikasi menjadi image Docker, mengirim ke Artifact Registry, dan men-deploy ke Cloud Run.
Klik File->New Text File, lalu salin dan tempel kode berikut, kemudian simpan sebagai cloudbuild.yaml
steps:
# Build Docker image
- name: 'gcr.io/cloud-builders/docker'
args: ['build', '-t', 'gcr.io/$PROJECT_ID/diet-planner:$BUILD_ID', '--no-cache',
'--progress=plain',
'.']
id: 'Build'
timeout: 1200s
waitFor: ['-']
dir: '.'
# Push to Container Registry
- name: 'gcr.io/cloud-builders/docker'
args: ['push', 'gcr.io/$PROJECT_ID/diet-planner:$BUILD_ID']
id: 'Push'
waitFor: ['Build']
# Deploy to Cloud Run
- name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
entrypoint: gcloud
args:
- 'run'
- 'deploy'
- 'diet-planner-service'
- '--image=gcr.io/$PROJECT_ID/diet-planner:$BUILD_ID'
- '--port=8080'
- '--region=us-central1'
- '--platform=managed'
- '--allow-unauthenticated'
- '--set-env-vars=GCP_PROJECT_ID=$PROJECT_ID,GCP_LOCATION=us-central1'
- '--cpu=1'
- '--memory=1Gi'
- '--timeout=300'
waitFor: ['Push']
options:
logging: CLOUD_LOGGING_ONLY
machineType: 'E2_HIGHCPU_8'
diskSizeGb: 100
images:
- 'gcr.io/$PROJECT_ID/diet-planner:$BUILD_ID'
Pada tahap ini, kita sudah memiliki semua file yang diperlukan untuk membangun aplikasi menjadi image Docker, mengirimkannya ke Artifact Registry, dan men-deploy-nya ke Cloud Run. Mari kita deploy. Buka Terminal Cloud Shell dan pastikan project saat ini dikonfigurasi ke project aktif Anda. Jika tidak, Anda harus menggunakan perintah gcloud configure untuk menyetel project ID:
gcloud config set project [PROJECT_ID]
Kemudian, jalankan perintah berikut untuk mem-build aplikasi menjadi image Docker, mengirimkannya ke Artifact Registry, dan men-deploy-nya ke Cloud Run
gcloud builds submit --config cloudbuild.yaml
Langkah ini akan membangun container Docker berdasarkan Dockerfile yang telah kita berikan sebelumnya dan mengirimkannya ke Artifact Registry. Setelah itu, kita akan men-deploy image yang dibuat ke Cloud Run. Semua proses ini ditentukan dalam langkah-langkah cloudbuild.yaml
.
Perhatikan bahwa kami mengizinkan akses tanpa autentikasi di sini karena ini adalah aplikasi demo. Sebaiknya gunakan autentikasi yang sesuai untuk aplikasi produksi dan perusahaan Anda.
Setelah deployment selesai, kita dapat memeriksanya di halaman Cloud Run. Telusuri Cloud Run di kotak penelusuran konsol cloud di bagian atas, lalu klik produk Cloud Run
Setelah itu, Anda dapat memeriksa layanan yang di-deploy yang tercantum di halaman Cloud Run Service. Klik layanan tersebut agar kita bisa mendapatkan URL layanan
URL layanan akan berada di panel atas
Lanjutkan dan gunakan aplikasi Anda dari jendela Samaran atau perangkat seluler Anda. Fitur ini seharusnya sudah aktif.
6. Pembersihan
Agar tidak menimbulkan biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam codelab ini, ikuti langkah-langkah berikut:
- Di konsol Google Cloud, buka halaman Manage resources.
- Dalam daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
- Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.
- Atau, Anda dapat membuka Cloud Run di konsol, memilih layanan yang baru saja Anda deploy, lalu menghapusnya.