我的cloudbuild.yaml存在以下几个方面:
- name: 'gcr.io/cloud-builders/gsutil'
args: ['-m', 'cp', '-r', '/workspace/api-testing/target/cucumber-html-reports', 'gs://testing-reports/$BUILD_ID']
- name: 'gcr.io/cloud-builders/gsutil'
args: ['-m', 'rm', '-r', 'gs://studio360-testing-reports/latest']
- name: 'gcr.io/cloud-builders/gsutil'
args: ['-m', 'cp', '-r', '/workspace/api-testing/target/cucumber-html-reports', 'gs://testing-reports/latest']这样,我总是把我的最新报告和旧的分开。但是,我是否可以将{date} arg或其他东西传递到第一行,以便对所有旧的报告有一个直观的顺序?
(因为无法按照gcp存储/桶中的最后修改对文件进行排序)
谢谢
发布于 2020-02-13 14:10:09
将第一个块更改为:
- name: 'gcr.io/cloud-builders/gsutil' args: ['-m', 'cp', '-r', '/workspace/api-testing/target/cucumber-html-reports', 'gs://testing-reports/${_DATE}_$BUILD_ID']
然后运行以下命令:
gcloud builds submit . --substitutions _DATE=$(date +%F_%H:%M:%S)
然后你会在桶里有这样的东西:
gs://testing-reports/2020-02-13_14:01:40_8a6a7ed0-62e0-43ed-8f97-aa6eca9c2834
编辑:
对于由Cloud触发器启动的自动生成,请使用此cloudbuild.yaml
steps:
- name: 'gcr.io/cloud-builders/gsutil'
entrypoint: 'bash'
args:
- '-c'
- |
gsutil -m cp -r $FILENAME gs://$BUCKET/$FILENAME-$(date +%F_%H:%M:%S)-$BUILD_ID这允许构建器使用bash来执行gsutil,因此bash命令"date“可以在命令中使用。
发布于 2020-02-10 20:37:23
很确定你应该能够大刀阔斧地做这样的事情:
- name: 'gcr.io/cloud-builders/gsutil'
entrypoint: 'bash'
args:
- -c
- |
gsutil -m cp -r /workspace/api-testing/target/cucumber-html-reports gs://testing-reports/$BUILD_ID-$(date +%m-%d-%Y)据我所知,你不能在潜艇中运行系统命令。变量或env。变量。(或者至少我还没弄清楚怎么做到的)
https://stackoverflow.com/questions/60058311
复制相似问题