Я пытаюсь настроить конвейер Concourse, который вызовет новое развертывание. Цель состоит в том, чтобы позволить конвейеру работать только тогда, когда новые значения были отправлены в репозиторий git И когда время находится в пределах определенного временного окна.
В настоящее время триггеры работают по принципу ИЛИ. Когда будет отправлена новая версия, конвейер будет запущен. Когда время находится в пределах окна, конвейер будет работать.
Похоже, единственное исключение - это когда оба триггера не сработали хотя бы один раз, например, в первый день, когда время еще не прошло. Это заставляло конвейер ждать первого успеха триггера временного окна перед запуском. Однако после этого нежелательное поведение при каждом обновлении репозитория git продолжалось.
Ниже представлена минимальная версия моего конвейера. Цель состоит в том, чтобы запустить конвейер только с 9:00 до 21: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. Заранее спасибо!