29 lines
1.5 KiB
Bash
29 lines
1.5 KiB
Bash
#!/bin/bash
|
||
|
||
# Nastavenia
|
||
REGION="europe-central2" # Nastavenie regiónu, kde budú služby nasadené (napr. stredná Európa)
|
||
PROJECT_ID="hatespeechsite" # ID Google Cloud projektu, v ktorom pracujeme
|
||
REPO_NAME="hatespeech-registry" # Názov Artifact Registry repozitára pre Docker image
|
||
IMAGE_NAME="hate-detektor" # Názov služby, ktorá bude nasadená do Cloud Run
|
||
IMAGE_URI="$REGION-docker.pkg.dev/$PROJECT_ID/$REPO_NAME/$IMAGE_NAME" # Úplná cesta k obrazu v Artifact Registry
|
||
INSTANCE_CONNECTION="hatespeechsite:europe-central2:hate-db" # Názov pripojenia k inštancii Cloud SQL
|
||
DATABASE_URL="postgresql://user:password@/mydb?host=/cloudsql/$INSTANCE_CONNECTION" # Pripojovací reťazec k PostgreSQL databáze (bude odovzdaný ako premenná prostredia)
|
||
|
||
|
||
# Spustenie build procesu – vytvorenie Docker image a jeho nahratie do Artifact Registry
|
||
echo "Build"
|
||
gcloud builds submit --tag $IMAGE_URI
|
||
|
||
# Nasadenie vytvoreného Docker image do Google Cloud Run
|
||
echo "Deploy"
|
||
gcloud run deploy $IMAGE_NAME \ # názov služby
|
||
--image $IMAGE_URI \ # cesta k Docker image
|
||
--platform managed \ # plne spravovaný režim
|
||
--region $REGION \ # geografický región
|
||
--allow-unauthenticated \ # povolenie prístupu bez prihlásenia
|
||
--port 8080 \ # port, na ktorom Flask beží
|
||
--memory=2Gi \ # alokovaná pamäť
|
||
--timeout=600s \ # maximálny čas na spustenie kontajnera
|
||
--add-cloudsql-instances=$INSTANCE_CONNECTION \ # pripojenie k databáze
|
||
--set-env-vars=DATABASE_URL=$DATABASE_URL # nastavenie premennej prostredia s DB
|