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

Azure DevOps场景下如何更新Digital Ocean App至新Docker镜像?

最佳更新Digital Ocean App的方案

针对你当前的场景(已有唯一构建编号的镜像标签,不想用latest标签、也不想覆盖现有App配置),推荐以下两种最优方案:

方案一:用doctl仅更新镜像标签,保留原有配置

你之前担心doctl app update会覆盖所有配置,其实可以通过只指定镜像更新参数,而不传入完整YAML清单来避免这个问题。具体步骤如下:

  1. 在Azure DevOps流水线中,推送完新镜像到DO私有仓库后,添加步骤安装doctl并通过DO API令牌完成身份验证。
  2. 执行以下命令,仅更新App的镜像标签为当前流水线的构建编号:
    doctl app update <你的AppID> --spec='{"services":[{"name":"<你的服务名称>","image":{"tag":"<流水线构建编号>"}}]}'
    
    该命令只会修改服务的镜像标签,不会触动已配置的环境变量、DNS或其他设置,完美适配你现有唯一标签的流程。

方案二:配置Digital Ocean App的镜像自动部署触发器

利用Digital Ocean App Platform的镜像仓库集成功能,实现新镜像推送后的自动部署:

  1. 在DO App的配置页面,找到你的容器服务,将镜像来源设置为私有仓库并开启「Automatic deployments」选项。
  2. 在Azure DevOps流水线推送新的唯一标签镜像后,调用DO App提供的自动部署webhook(可在App的「Deployments」页面获取),请求体中指定要部署的新镜像标签。这样DO App会拉取对应标签的新镜像,且不会覆盖现有配置。

方案优势

  • 完全沿用你现有的唯一构建编号标签,避免latest标签的缓存问题,符合DO官方推荐的最佳实践。
  • 无需将所有环境变量和密钥写入YAML清单,保留DO App中已配置的所有自定义设置。
  • 实现自动化更新,无需手动操作DO控制台。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 10:10:02