Openshift:ImageStream独立于存储库图像更改
我使用Tekton管道实现CI/CD,其背后的逻辑是一旦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
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”吗?