首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将日期arg传递给我的cloudbuild

如何将日期arg传递给我的cloudbuild
EN

Stack Overflow用户
提问于 2020-02-04 13:18:28
回答 2查看 1.6K关注 0票数 0

我的cloudbuild.yaml存在以下几个方面:

代码语言:javascript
复制
- 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存储/桶中的最后修改对文件进行排序)

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 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

代码语言:javascript
复制
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“可以在命令中使用。

很好地解释了谷歌这里的语法,以及关于入口点这里的信息。

票数 5
EN

Stack Overflow用户

发布于 2020-02-10 20:37:23

很确定你应该能够大刀阔斧地做这样的事情:

代码语言:javascript
复制
- 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。变量。(或者至少我还没弄清楚怎么做到的)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60058311

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档