#796·slim

即使添加了 --preserve-path 中的整个目录,也会删除依赖项

作者: RahulRaval28创建于 2025年9月5日更新于 2025年9月6日

Cloud build steps: # Step 1: Generate env.yaml file for Cloud Run deployment - name: "gcr.io/cloud-builders/gcloud" entrypoint: bash args: -c - | cat <<EOF > env.yaml ENV_TYPE: "${_ENV_TYPE}" project_number: "${_PROJECT_NO}" ENV_LINK: "${_ENV_LINK}" PROJECT_ID: "${_PROJECT_ID}" BUCKET_ORGNAME_SPEND_DATA: "${_BUCKET_ORGNAME_SPEND_DATA}" BUCKET_ORGNAME_CONTRACT_DATA: "${_BUCKET_ORGNAME_CONTRACT_DATA}" BUCKET_DIFFBOT_JSON_RESPONSE: "${_BUCKET_DIFFBOT_JSON_RESPONSE}" DOC_AI_PROJECT_ID: "${_DOC_AI_PROJECT_ID}" USER_AUTH_GCP_PROJECT_ID: "${_USER_AUTH_GCP_PROJECT_ID}" URL_SEND_MAIL_APPSPOT: "${_SEND_MAIL_SERVICE_URL}" FIRESTORE_DB: "${_FIRESTORE_DB}" BQ_TABLE_NAMES: "${_BQ_TABLE_NAMES}" EOF id: "Generate env.yaml" # Step 2: Generate .env file for SlimToolkit probing - name: "gcr.io/cloud-builders/gcloud" entrypoint: bash args: -c - | cat <<EOF > .env GOOGLE_CLOUD_PROJECT=${_PROJECT_ID} ENV_TYPE=${_ENV_TYPE} project_number=${_PROJECT_NO} ENV_LINK=${_ENV_LINK} BUCKET_ORGNAME_SPEND_DATA=${_BUCKET_ORGNAME_SPEND_DATA} BUCKET_ORGNAME_CONTRACT_DATA=${_BUCKET_ORGNAME_CONTRACT_DATA} BUCKET_DIFFBOT_JSON_RESPONSE=${_BUCKET_DIFFBOT_JSON_RESPONSE} DOC_AI_PROJECT_ID=${_DOC_AI_PROJECT_ID} USER_AUTH_GCP_PROJECT_ID=${_USER_AUTH_GCP_PROJECT_ID} URL_SEND_MAIL_APPSPOT=${_SEND_MAIL_SERVICE_URL} FIRESTORE_DB=${_FIRESTORE_DB} BQ_TABLE_NAMES=${_BQ_TABLE_NAMES} EOF id: "Generate .env for SlimToolkit" # Step 3: Get service account key from Secret Manager - name: gcr.io/cloud-builders/gcloud id: "Get service account key" entrypoint: bash args: -c - | gcloud secrets versions access latest --secret=google_application_credentials-dev > /workspace/service-account-key.json echo "Service account key saved to /workspace/service-account-key.json" # Step 4: Build fat Docker image - name: gcr.io/cloud-builders/Docker args: - build - "-t" - "${_REGION}-Docker.pkg.dev/${_DEVOPS_PROJECT_ID}/${_REPO_NAME}/${_SERVICE_NAME}-${_ENV_TYPE}:latest" - "-t" - "${_REGION}-Docker.pkg.dev/${_DEVOPS_PROJECT_ID}/${_REPO_NAME}/${_SERVICE_NAME}-${_ENV_TYPE}:$SHORT_SHA" - . # Step 5: Minify Docker image with SlimToolkit (FIXED + secrets mounted) - name: gcr.io/cloud-builders/Docker id: "Minify Docker image" entrypoint: bash args: -c - | set -e echo "Downloading SlimToolkit..." curl -L -o ds.tar.gz https://GitHub.com/slimtoolkit/slim/releases/download/1.40.11/dist_linux.tar.gz tar -xvf ds.tar.gz mv dist_linux/mint /usr/local/bin/slim mv dist_linux/mint-sensor /usr/local/bin/ chmod +x /usr/local/bin/slim /usr/local/bin/mint-sensor

内容来源: slimtoolkit/slim