#openshift #docker-registry #docker-image #tekton #imagestream
Вопрос:
Я внедряю CI/CD с использованием конвейеров Tekton, логика заключается в том, что после test
утверждения я должен получить этот образ из реестра docker и запустить dev
ImageStream, чтобы он мог запустить DeploymentConfig.
Проблема в том, что когда dev
используется test
образ, и я обновляю test
его новыми функциями (образ развертывается, и образ изменяется в реестре docker), и dev
не удается найти образ «перед новыми тестовыми обновлениями» test
503 unreachable Route
, в результате dev
чего .
Как сделать (мое предположение) Поток изображений, чтобы не быть недоступным даже после test
изменения изображения? Является ли основная причина в import-image
cmd? Или как предотвратить переопределение изображения, когда BuildConfig нажимает изображение (есть ли для этого дополнительные параметры BuildConfig) ?
Моя установка:
Ибо test
я запускаю конвейер Tekton, и последняя задача запускает BuildConfig, который помещает изображение в реестр docker.
Потому dev
что у меня есть трубопровод Tekton с одной задачей:
apiVersion: tekton.dev/v1beta1
kind: Task
name: get-dev-image
namespace: xxx
labels:
deploymentconfig: dc-prod
spec:
steps:
- image: 'image-registry.openshift-image-registry.svc:5000/openshift/cli:latest'
name: get-dev-image
resources: {}
script: |
DOCKER_REPO=xxx.com/image_name
TEST_IMAGE=$DOCKER_REPO:test
oc import-image $DOCKER_REPO:dev --from=$TEST_IMAGE --confirm=true
Поток изображений:
spec:
lookupPolicy:
local: true
tags:
- name: dev
from:
kind: ImageStreamImage
name: >-
image_name@sha256:latest_test_SHA_code
importPolicy: {}
referencePolicy:
type: Source
и DeploymentConfig настроен на запуск с помощью dev
тега.
Комментарии:
1. после обновления потока изображений вы можете увидеть, что старый хэш sha все еще находится в списке тегов? или всегда есть только новейший хэш sha с именем «dev» в списке?