我有一个脚本文件夹,里面有一个 python 脚本、docker 文件以及 requirements.txt
我的 python 脚本在本地单独运行良好。
Python 脚本
import os
import time
from fastapi import FastAPI
import uvicorn
app = FastAPI()
SHARED_VOLUME_PATH = '/mnt/shared'
@app.get("/")
def process_data():
data = "From Primary car"
with open(os.path.join(SHARED_VOLUME_PATH, 'shared_data_file.txt'), 'w') as f:
f.write(data)
print("Data processed and stored in shared volume")
response = "Data processed and stored in shared volume"
return response
if __name__ == '__main__':
port = int(os.environ.get("PORT", 8080))
uvicorn.run(app, host="0.0.0.0", port=port)
process_data()
Docker文件内容如下
FROM python:3.11
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY main.py .
CMD ["python", "main.py"]
当我运行命令时
gcloud builds submit --tag europe-west4-docker.pkg.dev/<GCP-project-ID>/artifactory/scar-prim-component:latest
我收到了这个错误。
ERROR: (gcloud.builds.submit) HTTPError 412: 'us' violates constraint 'constraints/gcp.resourceLocations'
我在这方面不太擅长。请告诉我需要做哪些更改,以便我可以将我的代码作为 GCP 中的artifactory 组件推送。
我在不同的 GCP 项目中运行了相同的脚本并执行了相同的步骤,并且运行良好并且也得到了部署。
如果有其他方法来构建并推送到artifactory,请提供步骤(详细)
您应该使用Google Cloud Builds 支持的区域。
它可以在默认配置文件配置中或通过设置工作池来指定。
请随时发表评论或其他问题!