CI/CD流程与企微应用
此文档只讲实际操作步骤,建议先理解一定的部署流程后再学习操作此文档
创建github代码仓库
- 点击创建新的代码仓库
- 选择组织,填写项目名称
- 选择仓库为私有
- 点击提交创建仓库
本地开发提交到github仓库
比如直接和ai说:
提交本地项目到 https://github.com/YIXIKEJI6/material-asset-foundation-v2/ 仓库,之后这个本地项目与这个 GitHub 仓库绑定
本地创建CI/CD流程文件夹
比如直接和ai说:
创建一个CI/CD文件夹,用于项目启动时走CI/CD流程
创建阿里云镜像仓库
- 登陆阿里云镜像仓库,创建命名空间
- 创建镜像仓库,建议勾选不可变(镜像打包后不可修改,方便稳定版本),选择本地仓库(根据需要可以创建多个,前端、后端、中间件,目前先只用创建前端,后端,名称分别为“项目名缩写_web“、项目名缩写_api)
获取镜像路径,提取关键信息,后续发送给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:[镜像版本号]
在github仓库的action中保存对应的阿里云镜像仓库信息
- 访问对应项目的github地址,点击设置进入action界面
- 点击“New repository secret”,设置阿里云镜像仓库账号密码信息(如果列表为空)
- 依次填写账号名称,值、密码名称、值(ALIYUN_ACR_USERNAME、ALIYUN_ACR_PASSWORD)
- 点击保存即可,这样github的action再执行完成CI后,会把对应的docker镜像推送到阿里云镜像仓库
在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:[镜像版本号]
在阿里云镜像仓库查看对应镜像
- 查看打包好的镜像
选择服务器并配置域名绑定
- 选择一个准备部署的服务器,拿到服务器的公网ip
- 在阿里云域名管理界面,添加绑定域名到对应的公网ip
- 使用服务器连接工具,连接访问到对应的服务器
在服务器中下拉镜像并部署
比如直接和ai说:
使用 Computer Use 技能 操作本地的dartshell工具,在这个已连接的服务器上拉取当前项目的最新版本的镜像,并启动部署,需要可以使用document.szyixikeji.com访问到当前项目
开通企业微信应用(提供对应的应用信息)
- 登录企业微信后台,进入到应用管理,点击+创建一个新的应用> (填写四个方面信息:应用主页、可信域名、回调域、可信ip)(获取三个方面信息:企业ID、Agentld、Secret)
- 设置应用主页,填写完整的访问链接
- 设置可信域名,填写域名信息
- 设置回调域,填写域名信息
- 设置可信ip,填写服务器公网ip信息,可多填
开发企业微信认证代码
比如直接和ai说:
这是我添加的企业微信应用信息
企业ID:ww7654ee8db2907fbd
AgentID:1000080
Secret:9HPsHdoBfScJf82avMmZrx54yruFtV2anCON9r4aY80
我需要给该项目生成一个可用于企业微信授权登录的模块,在企业微信上访问自动授权登录,在浏览器上访问弹出企业微信的授权二维码
继续走CI/CD流程
比如直接和ai说:
启动当前项目使用CI/CD流程,发布的版本号为1.1.0
在服务器上下拉镜像并部署(在企业微信上访问应用/在浏览器上访问应用)
比如直接和ai说:
使用 Computer Use 技能 操作本地的dartshell工具,在这个已连接的服务器上拉取当前项目的最新版本的镜像,并启动部署