我在挣扎。我找不到此问题的解决方案。
我想设置一个CloudBuild配置文件'cloudbuild-preprod.yaml',该文件将部署应用程序,然后在每次与git上的特定分支合并时部署cron作业。
部署正常。但是当我想添加第二个作业来自动执行cron作业时。 GCP会引发错误。
这是我的cloudbuild文件'cloudbuild-preprod.yaml'
steps:
- name: "gcr.io/cloud-builders/gcloud"
args: ["app", "deploy", 'app/compa-api-notifications-preprod.yaml']
- name: "gcr.io/cloud-builders/gcloud"
args: ["app", "deploy", 'app/cron-preprod.yaml']
timeout: '1200s'
这是我的cron配置文件' cron-preprod.yaml ':
cron:
- description: "monthly summary estimations"
url: /v1/sendMailEstimationsReminders
schedule: 1 of month 09:00
retry_parameters:
job_retry_limit: 1
最后这是我的配置文件' compa-api-notifications-preprod.yaml '(在没有cron作业的情况下效果很好)。
env: flex
runtime: nodejs
service: compa-notifications
manual_scaling:
instances: 1
resources:
cpu: 1
memory_gb: 0.5
disk_size_gb: 10
被触发时,第一个作业正常,但第二个作业抛出错误:
ERROR: build step 1 "gcr.io/cloud-builders/gcloud" failed: exit status 1
ERROR
Finished Step #1
Step #1: in "/workspace/app/cron-preprod.yaml", line 2, column 1
Step #1: Unexpected attribute 'cron' for object of type AppInfoExternal.
Step #1: ERROR: (gcloud.app.deploy) An error occurred while parsing file: [/workspace/app/cron-preprod.yaml]
Step #1: Already have image (with digest): gcr.io/cloud-builders/gcloud
Starting Step #1
任何帮助将不胜感激!预先谢谢你
答案 0 :(得分:1)
我终于通过将cron配置文件从 cron-preprod.yaml 重命名为 cron.yaml 使其工作了。如果GCP没有命名为cron.yaml,它将无法理解它是cron配置文件。