典型微服务案例(Python + Redis + Node.js)

    • 我们提供了项目案例源码 (opens new window) 供您直接使用,该代码仓库主要包含
      • 服务 Yaml 文件:
      • 服务 Dockerfile 文件:业务服务目录内有一个对应的 Dockerfile 文件。
    • 配置 GitHub 的 Webhook,Webhook 配置请参考 GitHub Webhook

    提示

    可参考 来配置自己的代码仓库

    步骤 1:产品交付-项目配置

    进入 zadig 系统。

    新建项目,项目名为voting

    onboarding-2 onboarding-4

    这里我们需要为以下 5 个服务添加服务配置:

    • worker
    • result
    • redis
    • db

    其中以下三个服务我们有代码,还需要添加构建:

    • vote
    • worker
    • result

    而redis和db直接使用标准镜像,所以不需要使用构建。

    注意

    Zadig 提供两种方式管理这些模板:

    • 系统平台管理:在 Zadig 中直接输入 Yaml 。
    • 代码仓导入与同步:从某个 Git 仓中导入,之后提交到代码仓的 Yaml 变更会自动同步到 Zadig 系统上。

    提示

    服务 Yaml 自动同步到 Zadig 系统上的功能会在配置 后生效

    这里,我们使用代码仓导入的方式。上面我们已经在代码仓的 freestyle-k8s-specifications (opens new window) 文件目录中准备好了这些 Yaml 。现在要做的就是把它们导入。

    • 加载服务配置:点击 按钮 -> 选择仓库信息 -> 选择文件目录。KodeRover 支持一次性导入多个服务,选择freestyle-k8s-specifications 文件目录可导入 5 个服务。
    • 配置服务构建:选择服务 -> 点击 -> 填写构建脚本

    onboarding-5

    构建脚本,填写以下代码,这个服务的构建步骤是使用docker构建镜像,注意根据不同的服务修改脚本中的 <service-directory> 参数。

    重复以上配置服务构建过程,完成 vote、worker 和 result 的配置。

    步骤 3:产品交付-加入运行环境

    • 点击下一步完成向导。至此,onboarding 完成。一个有 5 个微服务的系统,2 套环境、3 条工作流已经产生。

    onboarding-7

    • 点击“运行”,可以运行工作流。

    • 选择需要更新的服务,比如 vote 和 result,点击“启动任务”运行工作流。
    • 查看工作流运行状况:

    workflow-3

    • 下面是项目的总体状态:

    • 进入集成环境,查看服务列表并点击 result 和 vote 暴露出来的 URL 可以查看网站。

    workflow-5 workflow-7

    步骤 5:配置自动触发工作流

    添加触发器,使得代码 push 或者 Pull Request 都触发 result,vote,worker 三个服务的重新构建和部署:

    • 进入工作流配置页面

    • 添加 Webhook 触发器

    trigger-2

    • 配置 Webhook 触发器

    • 保存工作流

    trigger-4

    我们下面对 vote 服务中 Dog 一栏的颜色做改动。

    • 改动代码:

    • 查看网站运行结果:

    trigger-8