问题描述
我正在使用 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 (将#修改为@)