2023-08-04
Mendeploy Streamlit ke Cloud Run
Mendeploy Streamlit ke Cloud Run
Pada artikel ini, saya akan memperkenalkan cara mendeploy Streamlit ke Cloud Run.
Anda dapat memeriksa kode sumber dari repositori berikut:
Clone Kode Sumber
Clone kode sumber dengan perintah berikut:
$ git clone https://github.com/ryuseikakujo/streamlit-cloud-run.git
Persiapan
Lakukan persiapan dengan langkah-langkah berikut:
- Buat Terraform Backend
- Buat resource infrastruktur dengan Terraform
- Konfigurasi Rahasia GitHub Actions
Buat Terraform Backend
Untuk mengelola state Terraform, buat sebuah bucket di GCS (Google Cloud Storage). Silakan buat bucket tersebut melalui konsol GCP.
Buat Resource Infrastruktur dengan Terraform
Pertama, ubah file terraform/backend.tf
dengan mengganti bucket
:
backend "gcs" {
- bucket = "my-streamlit-tfstate"
+ bucket = "<Your bucket name>"
prefix = ""
}
Selanjutnya, ubah terraform/variables.tf
:
variable "project" {
type = string
- default = "my-gcp-proj"
+ default = "<Your GCP project name>"
}
variable "repo_org_name" {
type = string
- default = "ryuseikakujo"
+ default = "Your github repository organization name"
}
variable "repo_name" {
type = string
- default = "streamlit-cloud-run"
+ default = "Your github repository name"
}
Kemudian, apply
Terraform dengan perintah berikut:
$ cd terraform
$ terraform init
$ terraform apply
Resource berikut akan dibuat:
- Workload Identity Pool
- Service Account untuk Cloud Run
- Service Account untuk GitHub Actions
Konfigurasi Rahasia GitHub Actions
Atur variabel lingkungan yang akan dikirimkan ke Cloud Run selama proses deployment di .github/workflows/cd_streamlit.yml
. Tetapkan variabel berikut sebagai Secrets GitHub:
VAR1
VAR2
Dengan pengaturan ini, saat commit dilakukan ke cabang main
, gambar Docker akan diunggah ke GCR, dan Cloud Run akan didistribusikan melalui GitHub Actions.
Referensi