concourse - 无法在大厅中使用 gcs-resource 一个接一个地触发作业
问题描述
我有两份工作,即。build
和publish
。我想在完成publish
后触发build
。所以,我正在使用外部资源 gcs-resource
https://github.com/frodenas/gcs-resource
以下是我的pipeline.yml
:
---
resource_types:
- name: gcs-resource
type: docker-image
source:
repository: frodenas/gcs-resource
resources:
- name: proj-repo
type: git
source:
uri: <my uri>
branch: develop
username: <username>
password: <password>
- name: proj-gcr
type: docker-image
source:
repository: asia.gcr.io/myproject/proj
tag: develop
username: _json_key
password: <my password>
- name: proj-build-output
type: gcs-resource
source:
bucket: proj-build-deploy
json_key: <my key>
regexp: Dockerfile
jobs:
- name: build
serial_groups: [proj-build-deploy]
plan:
- get: proj
resource: proj-repo
- task: build
config:
platform: linux
image_resource:
type: docker-image
source: {repository: node, tag: 10.13.0}
inputs:
- name: proj
run:
path: sh
args:
- -exc
- |
<do something>
- put: proj-build-output
params:
file: proj/Dockerfile
content_type: application/octet-stream
- name: publish
serial_groups: [proj-build-deploy]
plan:
- get: proj-build-output
trigger: true
passed: [build]
- put: proj-gcr
params:
build: proj-build-output
我正在使用外部资源proj-build-output
来触发下一个工作。我可以毫无问题地运行单个作业,但是publish
作业完成后不会自动触发该build
作业。我错过了什么吗?
解决方案
的regexp
配置gcs-resource
错误:
...
regexp: Dockerfile
...
而regexp
,作为它来自的原始 S3 资源,想要:
regexp
:在 GCS 中匹配文件名的模式。第一个分组匹配用于提取版本,或者如果一个组明确命名为版本,则使用该组。
https://github.com/frodenas/gcs-resource#example-configuration显示了它的正确用法:
regexp: directory_on_gcs/release-(.*).tgz
这并不特定于 GCS 或 S3 资源;Concourse 需要一个“版本”来将工件从作业移动到存储并返回。这是Concourse的基本概念之一。有关示例,请参见https://web.archive.org/web/20171205105324/http://concourse.ci:80/versioned-s3-artifacts.html 。
推荐阅读
- echarts - Echarts 带有异常值的多类别箱线图
- python - 无法将任务添加到 Azure 批处理模型
- jenkins - 如何在 Jenkins 中运行 Coded UI 测试而不会出现 ChromeDriver 蓝牙错误?
- excel - PowerShell - 为什么我的递归函数在第 282 次迭代附近停止?
- sql-server - 为什么我们在 bulk_logged 恢复模型中得到的 t-log 备份的大小在某些情况下会减小?
- python - 如何直观地识别每个簇的标签?
- javascript - 我使用 vuejs mustache 语法不起作用
- google-apps-script - 使用 Google Apps 脚本从 Google 文档中删除空白的最后一页空间、选项卡
- java - 如何使用 java-ee8、microProfile 4.0、Openliberty 21 和 Docker 设置特定于阶段的微配置文件配置
- javascript - 如何将焦点更改为表格单元格中的下一个或上一个可聚焦和启用的输入(仅限 jQuery 或 vanilla javascript)?