【问题标题】:Concourse CI - S3 trigger not firing. How often does it check?大厅 CI - S3 触发器未触发。它多久检查一次?
【发布时间】:2017-08-08 17:59:22
【问题描述】:

我有一个 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 资源检测新文件出现的预期延迟是多少?

3.4 号大厅。谢谢~~

【问题讨论】:

    标签: concourse


    【解决方案1】:

    您的正则表达式中的捕获组必须引用符合 semver 的版本。

    documentation

    从此模式中提取的版本用于对资源进行版本控制。支持语义版本,或仅支持数字。因此,支持完整的正则表达式,以指定捕获组。

    您的捕获组当前正在制作捕获的“版本”quote2。您可能应该删除管道并使用修改后的正则表达式重新生成它(例如qabot_request_quote(\d+).json

    【讨论】:

    • 有什么特别的理由删除+重新创建,而不是仅仅更新?
    • 保存在数据库中的“版本”仍将是“quote2”,无法与更新的版本“2”进行比较。删除管道将删除资源版本并重新开始。
    猜你喜欢
    • 2011-10-10
    • 1970-01-01
    • 1970-01-01
    • 2014-11-16
    • 2018-02-26
    • 2019-03-12
    • 2023-03-18
    • 2013-10-10
    • 1970-01-01
    相关资源
    最近更新 更多