Openshift:ImageStream独立于存储库图像更改

Openshift:ImageStream独立于存储库图像更改,openshift,docker-registry,docker-image,tekton,imagestream,Openshift,Docker Registry,Docker Image,Tekton,Imagestream,我使用Tekton管道实现CI/CD,其背后的逻辑是一旦test获得批准,我应该从docker注册表获取该映像并触发devImageStream,这样它就可以触发DeploymentConfig 问题是,当dev使用test图像时,我使用新功能更新test(图像部署,图像SHA在docker注册表中更改),并且dev无法找到“在新测试更新之前”test在dev中生成的图像503无法到达的路径 如何制作(我猜)ImageStream以防止即使在test图像更改后也无法访问?根本原因是否在impor

我使用Tekton管道实现CI/CD,其背后的逻辑是一旦
test
获得批准,我应该从docker注册表获取该映像并触发
dev
ImageStream,这样它就可以触发DeploymentConfig

问题是,当
dev
使用
test
图像时,我使用新功能更新
test
(图像部署,图像SHA在docker注册表中更改),并且
dev
无法找到“在新测试更新之前”
test
dev
中生成的图像
503无法到达的路径

如何制作(我猜)ImageStream以防止即使在
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
tag触发。

更新imageStream后,您能看到标签列表中仍然存在旧的sha哈希吗?或者总是只有最新的sha散列名为“dev”吗?