我有一个Concourse作业,它使用Amazon S3存储桶中文件的外观作为一系列测试的触发器。使用此资源 - > https://github.com/concourse/s3-resource。问题是,文件出现时作业没有触发。当我手动触发作业时,它会看到该文件并启动测试套件。
Yaml配置如下所示:
- name: s3-trigger-file
type: s3
source:
bucket: my-bucket-name
regexp: qabot_request_(.*).json
access_key_id: {{s3-access-key-id}}
secret_access_key: {{s3-secret-access-key}}
jobs:
- name: my-job
public: true
plan:
- get: s3-trigger-file
trigger: true
当我在Concourse UI中点击触发器本身时,我看到的是一个正在运行的监视器:
正如我所说,当文件出现时,作业不会触发,但手动触发确实会检测到S3输入。
如何调试自动触发器未触发的原因?此外,s3资源检测到新文件的预期延迟已经出现了多少?
Concourse 3.4。谢谢~~
答案 0 :(得分:2)
正则表达式中的捕获组必须引用符合semver的版本。
请参阅documentation:
从此模式中提取的版本用于对资源进行版本控制。支持语义版本或仅数字。因此,支持完整的正则表达式,以指定捕获组。
您的捕获组目前正在制作捕获的“版本”quote2
。您应该删除管道并使用修改后的正则表达式重新生成它(例如qabot_request_quote(\d+).json
)