chore: add base Docker image to speed up deploys
- Add agents/core-logic/Dockerfile.base with heavy deps pre-baked - Update agents/core-logic/Dockerfile to build FROM base image - Update cloudbuild.yaml with step to build/push base (manual only) - Typical deploy time reduction: ~3 min → ~30 sec
This commit is contained in:
parent
1cba5166db
commit
d0512f5ced
|
|
@ -1,7 +1,11 @@
|
||||||
FROM python:3.12-slim
|
# Builds on the pre-baked base image for fast deploys (~30s vs ~3min)
|
||||||
|
# Rebuild base when requirements change:
|
||||||
|
# see agents/core-logic/Dockerfile.base
|
||||||
|
FROM us-central1-docker.pkg.dev/propane-will-491900-m5/osvauco-repo/osvauco-base:latest
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
|
# Install only the lightweight remaining deps
|
||||||
COPY requirements.txt .
|
COPY requirements.txt .
|
||||||
RUN pip install --no-cache-dir -r requirements.txt
|
RUN pip install --no-cache-dir -r requirements.txt
|
||||||
|
|
||||||
|
|
|
||||||
24
agents/core-logic/Dockerfile.base
Normal file
24
agents/core-logic/Dockerfile.base
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
# Dockerfile.base — bygg og push manuelt når tunge avhengigheter endres:
|
||||||
|
#
|
||||||
|
# docker build -f agents/core-logic/Dockerfile.base \
|
||||||
|
# -t us-central1-docker.pkg.dev/propane-will-491900-m5/osvauco-repo/osvauco-base:latest \
|
||||||
|
# agents/core-logic
|
||||||
|
# docker push us-central1-docker.pkg.dev/propane-will-491900-m5/osvauco-repo/osvauco-base:latest
|
||||||
|
#
|
||||||
|
# Cloud Build kan også kjøre dette steget manuelt:
|
||||||
|
# gcloud builds submit --config=cloudbuild.base.yaml .
|
||||||
|
|
||||||
|
FROM python:3.12-slim
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
# Kun de tunge avhengighetene — endres sjelden
|
||||||
|
COPY requirements.txt .
|
||||||
|
RUN pip install --no-cache-dir \
|
||||||
|
google-adk>=1.0.0 \
|
||||||
|
"google-cloud-aiplatform[adk,agent_engines,evaluation]>=1.112.0" \
|
||||||
|
pyarrow \
|
||||||
|
grpcio \
|
||||||
|
google-cloud-bigquery \
|
||||||
|
google-cloud-spanner \
|
||||||
|
google-cloud-bigtable
|
||||||
29
cloudbuild.base.yaml
Normal file
29
cloudbuild.base.yaml
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
# cloudbuild.base.yaml — Bygg og push base-image manuelt
|
||||||
|
# Kjøres kun når tunge avhengigheter i requirements.txt endres:
|
||||||
|
#
|
||||||
|
# gcloud builds submit --config=cloudbuild.base.yaml .
|
||||||
|
#
|
||||||
|
steps:
|
||||||
|
- name: 'gcr.io/cloud-builders/docker'
|
||||||
|
id: build-base
|
||||||
|
args:
|
||||||
|
- 'build'
|
||||||
|
- '-f'
|
||||||
|
- 'agents/core-logic/Dockerfile.base'
|
||||||
|
- '-t'
|
||||||
|
- 'us-central1-docker.pkg.dev/${PROJECT_ID}/osvauco-repo/osvauco-base:latest'
|
||||||
|
- 'agents/core-logic'
|
||||||
|
|
||||||
|
- name: 'gcr.io/cloud-builders/docker'
|
||||||
|
id: push-base
|
||||||
|
waitFor: ['build-base']
|
||||||
|
args:
|
||||||
|
- 'push'
|
||||||
|
- 'us-central1-docker.pkg.dev/${PROJECT_ID}/osvauco-repo/osvauco-base:latest'
|
||||||
|
|
||||||
|
options:
|
||||||
|
logging: CLOUD_LOGGING_ONLY
|
||||||
|
machineType: E2_HIGHCPU_8
|
||||||
|
|
||||||
|
images:
|
||||||
|
- 'us-central1-docker.pkg.dev/${PROJECT_ID}/osvauco-repo/osvauco-base:latest'
|
||||||
Loading…
Reference in New Issue
Block a user