CI/CD流程与企微应用

此文档只讲实际操作步骤,建议先理解一定的部署流程后再学习操作此文档

创建github代码仓库

  1. 点击创建新的代码仓库
  2. 选择组织,填写项目名称
  3. 选择仓库为私有
  4. 点击提交创建仓库
操作截图 1
操作截图 1

本地开发提交到github仓库

比如直接和ai说:

提交本地项目到 https://github.com/YIXIKEJI6/material-asset-foundation-v2/ 仓库,之后这个本地项目与这个 GitHub 仓库绑定

本地创建CI/CD流程文件夹

比如直接和ai说:

创建一个CI/CD文件夹,用于项目启动时走CI/CD流程

创建阿里云镜像仓库

  1. 登陆阿里云镜像仓库,创建命名空间
操作截图 2
操作截图 2
  1. 创建镜像仓库,建议勾选不可变(镜像打包后不可修改,方便稳定版本),选择本地仓库(根据需要可以创建多个,前端、后端、中间件,目前先只用创建前端,后端,名称分别为“项目名缩写_web“、项目名缩写_api)
操作截图 3
操作截图 3
操作截图 4
操作截图 4

获取镜像路径,提取关键信息,后续发送给ai

$ docker login --username=dingkun@1125881885739463 yixitech-registry.cn-shenzhen.cr.aliyuncs.com
$ docker tag [ImageId] yixitech-registry.cn-shenzhen.cr.aliyuncs.com/yiximaf/qym-api:[镜像版本号]
$ docker push yixitech-registry.cn-shenzhen.cr.aliyuncs.com/yiximaf/qym-api:[镜像版本号]
操作截图 5
操作截图 5

在github仓库的action中保存对应的阿里云镜像仓库信息

  1. 访问对应项目的github地址,点击设置进入action界面
  2. 点击“New repository secret”,设置阿里云镜像仓库账号密码信息(如果列表为空)
  3. 依次填写账号名称,值、密码名称、值(ALIYUN_ACR_USERNAME、ALIYUN_ACR_PASSWORD)
  4. 点击保存即可,这样github的action再执行完成CI后,会把对应的docker镜像推送到阿里云镜像仓库
操作截图 6
操作截图 6
操作截图 7
操作截图 7

在github的action中实现CI/CD流程

比如直接和ai说:

启动当前项目使用CI/CD流程,发布的版本号为1.0.0 推送的阿里云镜像仓库的信息为 前端镜像仓库:$ docker push yixitech-registry.cn-shenzhen.cr.aliyuncs.com/yiximaf/qym-web:[镜像版本号] 后端镜像仓库:$ docker push yixitech-registry.cn-shenzhen.cr.aliyuncs.com/yiximaf/qym-api:[镜像版本号]

在阿里云镜像仓库查看对应镜像

  1. 查看打包好的镜像
操作截图 8
操作截图 8
操作截图 9
操作截图 9

选择服务器并配置域名绑定

  1. 选择一个准备部署的服务器,拿到服务器的公网ip
  2. 在阿里云域名管理界面,添加绑定域名到对应的公网ip
  3. 使用服务器连接工具,连接访问到对应的服务器

在服务器中下拉镜像并部署

比如直接和ai说:

使用 Computer Use 技能 操作本地的dartshell工具,在这个已连接的服务器上拉取当前项目的最新版本的镜像,并启动部署,需要可以使用document.szyixikeji.com访问到当前项目

开通企业微信应用(提供对应的应用信息)

  1. 登录企业微信后台,进入到应用管理,点击+创建一个新的应用> (填写四个方面信息:应用主页、可信域名、回调域、可信ip)(获取三个方面信息:企业ID、Agentld、Secret)
操作截图 10
操作截图 10
操作截图 11
操作截图 11
操作截图 12
操作截图 12
  1. 设置应用主页,填写完整的访问链接
操作截图 13
操作截图 13
  1. 设置可信域名,填写域名信息
操作截图 14
操作截图 14
  1. 设置回调域,填写域名信息
操作截图 15
操作截图 15
  1. 设置可信ip,填写服务器公网ip信息,可多填
操作截图 16
操作截图 16

开发企业微信认证代码

比如直接和ai说:

这是我添加的企业微信应用信息 企业ID:ww7654ee8db2907fbd AgentID:1000080 Secret:9HPsHdoBfScJf82avMmZrx54yruFtV2anCON9r4aY80 我需要给该项目生成一个可用于企业微信授权登录的模块,在企业微信上访问自动授权登录,在浏览器上访问弹出企业微信的授权二维码

继续走CI/CD流程

比如直接和ai说:

启动当前项目使用CI/CD流程,发布的版本号为1.1.0

在服务器上下拉镜像并部署(在企业微信上访问应用/在浏览器上访问应用)

比如直接和ai说:

使用 Computer Use 技能 操作本地的dartshell工具,在这个已连接的服务器上拉取当前项目的最新版本的镜像,并启动部署