如何解决Openshift:ImageStream 独立于存储库映像更改
我正在使用 Tekton Pipelines 实施 CI/CD,背后的逻辑是,一旦 test
获得批准,我应该从 docker 注册表获取该映像并触发 dev
ImageStream,以便它可以触发 DeploymentConfig。>
问题是,当 dev
使用 test
映像并且我使用新功能更新 test
(映像已部署并且映像 SHA 更改在 docker 注册表中)和 {{1 }} 无法在 dev
中找到导致 test
的“新测试更新之前”503 unreachable Route
图像。
如何制作(我的猜测)ImageStream 以防止即使在 dev
图像更改后也无法访问?根本原因是否在 test
cmd 中?或者当 BuildConfig 推送图像时如何防止图像覆盖(是否有额外的 BuildConfig 参数)?
我的设置:
对于 import-image
,我运行 Tekton Pipeline,最后一个 Task 启动 BuildConfig,后者将映像推送到 docker 注册表。
对于 test
,我有 Tekton Pipeline 和一项任务:
dev
图像流:
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
并且 DeploymentConfig 配置为由 spec:
lookupPolicy:
local: true
tags:
- name: dev
from:
kind: ImageStreamImage
name: >-
image_name@sha256:latest_test_SHA_code
importPolicy: {}
referencePolicy:
type: Source
标记触发。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。