You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何利用Azure DevOps Server的Release Pipeline部署Quay镜像至OpenShift

用Azure DevOps Server Release Pipeline把Quay镜像部署到OpenShift的实现方案

前置准备

  • 给Azure DevOps Server配置两个关键服务连接:
    • OpenShift服务连接:进入项目设置→服务连接,新增OpenShift类型连接,填入集群API地址、认证token,测试确保连接正常。
    • Quay Docker Registry服务连接:同样在服务连接中新增Docker Registry类型,选择Quay.io,填入用户名、机器人token/密码,指定Quay仓库地址。
  • 确认Build Pipeline已将构建完成的镜像推送至Quay的开发/测试仓库,且镜像tag带有可追踪标识(比如构建ID、版本号)。

步骤1:搭建Release Pipeline基础框架

  • 新建Release Pipeline,选择「Empty job」模板。
  • 添加一个部署阶段(例如命名为「生产环境部署」),填写阶段对应的目标环境信息。

步骤2:拉取Quay镜像并重标记

在部署阶段中依次添加以下任务:

1. 登录Quay仓库

使用「Docker」任务,动作选择「Login」,选中之前配置好的Quay服务连接,确保能访问源镜像仓库和目标生产仓库。

2. 拉取源镜像

添加「Bash」任务(Windows环境可改用PowerShell),执行拉取命令:

docker pull quay.io/[你的源仓库名]/[镜像名]:[源tag]

其中[源tag]可直接引用Build Pipeline的输出变量,比如$(Build.BuildId)或自定义的版本变量。

3. 重标记镜像

继续用Bash任务执行重标记命令,将源镜像映射为生产仓库的指定tag:

docker tag quay.io/[你的源仓库名]/[镜像名]:[源tag] quay.io/[你的生产仓库名]/[镜像名]:[生产tag]

生产tag可使用固定版本号、Git commit哈希,或手动输入的版本变量。

4. 推送重标记后的镜像至Quay生产仓库

再次使用「Docker」任务,动作选择「Push」,指定重标记后的镜像地址quay.io/[你的生产仓库名]/[镜像名]:[生产tag]。

步骤3:部署镜像到OpenShift

1. 登录OpenShift集群

使用「OpenShift CLI」任务,选中之前配置的OpenShift服务连接,该任务会自动完成集群认证,无需手动输入登录命令。

2. 部署镜像到OpenShift

两种方式任选其一:

方式A:更新已有部署

添加Bash任务执行命令:

oc set image deployment/[你的部署名] [容器名]=quay.io/[你的生产仓库名]/[镜像名]:[生产tag] -n [目标命名空间]

适合已有部署资源的场景,直接替换镜像版本即可。

方式B:通过Manifest部署新资源

若需创建新的部署资源,添加「Kubernetes Manifest」任务,选中OpenShift服务连接,指定仓库中的yaml文件路径(可通过变量替换镜像tag),动作选择「deploy」。

步骤4:配置优化

  • 在Release Pipeline的「变量」面板中定义可复用变量,比如QuaySourceRepo、QuayProdRepo、ImageName、ProdTag,后续维护更便捷。
  • 设置触发规则:可配置为Build Pipeline成功后自动触发Release,也可保留手动触发模式。

部署验证

部署完成后,可通过OpenShift控制台查看,或执行命令oc get pods -n [目标命名空间]检查Pod状态,确认镜像版本为指定的生产tag。

内容的提问来源于stack exchange,提问作者Priyanka Sharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 15:03:34