我正在尝试设置将触发新部署的 Concourse 管道。目标是仅在将新值推送到 git 存储库并且时间在定义的时间窗口内时才让管道运行。
目前,触发器似乎以 OR 方式工作。推送新版本时,管道将运行。当时间在窗口内时,管道将运行。
似乎唯一的例外是两个触发器都没有成功至少一次,例如在时间还没有过去的第一天。这导致管道在运行之前等待时间窗口触发器的第一次成功。然而,在此之后,每次更新 git 存储库时运行的不良行为仍在继续。
下面是我的管道的最小版本。目标是仅在晚上 9:00 到 9:10 之间运行管道,并且最好仅在 git 存储库已更新时运行。
resource_types:
- name: helm
type: docker-image
source:
repository: linkyard/concourse-helm-resource
resources:
- name: cicd-helm-values_my-service
type: git
source:
branch: master
username: <redacted>
password: <redacted>
uri: https://bitbucket.org/myorg/cicd-helm-values.git
paths:
- dev-env/my-service/values.yaml
- name: helm-deployment
type: helm
source:
cluster_url: '<redacted>'
cluster_ca: <redacted>
admin_cert: <redacted>
admin_key: <redacted>
repos:
- name: chartmuseum
url: '<redacted>'
username: <redacted>
password: <redacted>
- name: time-window
type: time
source:
start: 9:00 PM
stop: 9:10 PM
jobs:
- name: deploy-my-service
plan:
- get: time-window
trigger: true
- get: cicd-helm-values_my-service
trigger: true
- put: helm-deployment
params:
release: my-service
namespace: dev-env
chart: chartmuseum/application-template
values: ./cicd-helm-values_my-service/dev-env/my-service/values.yaml
任何关于如何结合时间窗口和 cicd-helm-values_my-service 的想法将不胜感激。提前致谢!