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 (将#修改为@)