我在命令行中创建我的 gcloud 调度器
gcloud scheduler jobs create
但是当我已经部署了我的 gitlabCI 时,我得到了已经存在的错误。
如果已经直接存在于我的 gitlabCI 中,是否可以覆盖?
假设您创建一个具有以下属性值的 Cloud Schedule 作业
gcloud scheduler jobs create JOB --location=LOCATION
工作 | 地点 |
---|---|
我的工作 | 美国西部1 |
gcloud scheduler jobs create my-job --location=us-west1
为了验证作业是否已经存在,您可以使用 gcloud CLI 的
gcloud schedule jobs describe JOB
命令。例如 https://cloud.google.com/sdk/gcloud/reference/scheduler/jobs/describe
gcloud scheduler jobs describe my-job --location=us-west1
如果它确实已经存在,没有直接的方法“覆盖”现有的,你可以做的是
gcloud scheduler jobs delete my-job
gcloud scheduler jobs create my-job
gcloud scheduler jobs update app-engine my-job --version=VERSION
更多信息请参考Cloud SDK on Cloud Scheduler官方文档https://cloud.google.com/sdk/gcloud/reference/scheduler
您可以在您的
.gitlab-ci
文件中尝试以下步骤:
description
? # list scheduler jobs
- >
gcloud scheduler jobs list
--location="LOCATION"
--filter "description='The description for your existing scheduler job'"
--project "YOUR_PROJECT_ID"
--format json
> list.json
# delete the existing scheduler job
- >
for i in $(jq -r .[].name list.json); do
gcloud scheduler jobs delete $i --quiet --project $YOUR_PROJECT_ID || echo "Failed to delete $i"
done
# now re-create your scheduler job
- >
gcloud scheduler jobs create your-scheduler-job