Swarm 集群DevOps的基于容器 HUB 的持续交付

本章节主要是介绍如何通过添加触发器和设置 Webhook 实现自动重新部署应用。
操作步骤
假设您已经有一个部署在阿里云容器服务上的 nodejs 应用。该应用代码托管在 GitHub 中,镜像仓库使用的是阿里云 Docker Hub,镜像仓库设置了代码变更时自动构建镜像的构建设置。

  1. Docker Hub 中 的镜像如下所示。
  2. 初始的编排模板如下所示。[backcolor=transparent]nodejs[backcolor=transparent]-[backcolor=transparent]demo[backcolor=transparent]:
  3. [backcolor=transparent] image[backcolor=transparent]:[backcolor=transparent] [backcolor=transparent]'registry.cn-hangzhou.aliyuncs.com/qinyujia-test/nodejs-demo'
  4. [backcolor=transparent] expose[backcolor=transparent]:
  5. [backcolor=transparent]     [backcolor=transparent]-[backcolor=transparent] [backcolor=transparent]'22'
  6. [backcolor=transparent]     [backcolor=transparent]-[backcolor=transparent] [backcolor=transparent]'3000'
  7. [backcolor=transparent] restart[backcolor=transparent]:[backcolor=transparent] always
  8. [backcolor=transparent] labels[backcolor=transparent]:
  9. [backcolor=transparent]     aliyun[backcolor=transparent].[backcolor=transparent]routing[backcolor=transparent].[backcolor=transparent]port_3000[backcolor=transparent]:[backcolor=transparent] nodejs[backcolor=transparent]-[backcolor=transparent]demo

应用如下所示。

为 nodejs 应用创建重新部署类型的触发器。

在 Docker Hub 中添加一条 Webhook 记录,将上一步创建的触发器链接填写到 Webhook URL 中。

此时在 GitHub 中提交代码变更,镜像就会自动重新构建,应用会自动重新部署。
确认更新。
  • 通过查看应用的事件来确认更新。
  • 通过 Webhook 的访问历史来确认更新。

展开
收起
反向一觉 2017-10-30 11:21:00 2133 分享 版权
阿里云 AI 助理回答

您提到的流程是实现持续集成和持续部署(CI/CD)的一个典型场景,其中涉及到了GitHub代码仓库、阿里云Docker Hub作为镜像仓库,以及阿里云容器服务来部署应用。下面我将详细解释每个步骤及其背后的逻辑:

1. 准备阶段

  • 代码托管在GitHub:您的源代码存储在GitHub上,便于版本控制和团队协作。
  • 镜像仓库设置:使用阿里云Docker Hub作为镜像仓库,并配置了自动构建功能。这意味着每当GitHub中的代码发生变化时,Docker Hub会自动根据新的代码构建一个新的Docker镜像。

2. 创建触发器

  • 目的:为了实现在代码更新后自动重新部署应用,需要在阿里云容器服务中为nodejs应用创建一个“重新部署”类型的触发器。这个触发器的作用是在接收到特定信号时,触发应用的重新部署操作。

3. 配置Webhook

  • Docker Hub Webhook:在Docker Hub中添加一条Webhook记录,其URL指向之前在阿里云容器服务中创建的触发器。这样,当Docker镜像因为代码变更而被成功构建后,Docker Hub会通过Webhook发送一个通知到阿里云容器服务。

4. 提交代码变更

  • 触发流程:在GitHub中提交代码变更后,这一动作会触发Docker Hub进行镜像的自动构建。一旦新镜像构建完成,Docker Hub的Webhook就会激活阿里云容器服务中的触发器,进而自动重新部署应用。

5. 确认更新

  • 查看应用事件:在阿里云容器服务的管理界面,您可以查看应用的部署历史或事件日志,以确认应用是否已经按照预期进行了重新部署。
  • Webhook访问历史:同时,检查Docker Hub中Webhook的访问历史记录,可以进一步验证Webhook是否成功触发了容器服务的重新部署操作。

总结

整个过程实现了从代码变更到应用自动重新部署的自动化流程,大大提高了开发效率和部署速度。这是现代DevOps实践中的重要一环,确保了软件交付的快速迭代和稳定性。阿里云的产品和服务(如容器服务、Docker Hub等)在这里扮演了关键角色,提供了无缝的集成与自动化能力。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答

国内唯一 Forrester 公共云容器平台领导者象限。

还有其他疑问?
咨询AI助理