修改cicd为gitea action,简化操作
This commit is contained in:
@@ -10,7 +10,9 @@
|
||||
|
||||
## 运行
|
||||
|
||||
下面文档分为**开发**和**上线**两部分进行说明!
|
||||
下面文档分为**开发**和**上线**两部分进行说明!**默认前端已经在电脑上安装过 Docker 环境!!**
|
||||
|
||||
> 想要【开发阶段运行】,必须 先参考下面 【上线】-【任务1】配置好两个前端自己的环境变量文件!很简单!
|
||||
|
||||
### 开发
|
||||
|
||||
@@ -30,34 +32,125 @@ npm run dep
|
||||
|
||||
### 上线
|
||||
|
||||
**docker/ 文件夹说明**
|
||||
- `app-product.yml` - Dcoker Swarm 集群部署配置
|
||||
- `deploy-swarm.sh` - 自动化部署脚本
|
||||
- `docker-compose.yml` - 开发阶段容器编排
|
||||
- `Dockerfile` - 打包构建前端代码为镜像
|
||||
- `nginx.conf` - 镜像内前端被访问的Nginx配置
|
||||
代码 到 仓库的 **main 分支** 后会触发 全程自动化,实现自动打包前端代码,构建镜像,自动部署到公司内网的Linux服务器集群中!
|
||||
提交到其他分支不触发自动化操作!具体什么规则,以 技术负责人 说的为准!请遵守规则!
|
||||
|
||||
|
||||
**根目录核心文件说明**
|
||||
|
||||
- `app-product.yml` - Dcoker Swarm 集群部署配置【不准动】
|
||||
- `docker-compose.yml` - 开发阶段容器编排【可选,不要就删除】
|
||||
- `Dockerfile` - 打包构建前端代码为镜像【根据需求改动】
|
||||
- `nginx.conf` - 镜像内前端被访问的Nginx配置【根据需求改动】
|
||||
- `act-runner.yml` - gitea action 的 runner【根据需求改动】
|
||||
|
||||
前端工作:
|
||||
|
||||
- 1: 编辑 前端 .env.development 和 .env.production 环境变量(只需修改一次)
|
||||
- 2: 确认或编辑 docker/Dockerfile,docker/nginx.conf
|
||||
- 3: 编辑 docker/deploy-swarm.sh
|
||||
前期大致工作内容如下,改好后,以后就不用再动了,很简单:
|
||||
|
||||
还有很多细节未展开,后面再详细说,大致确认无误后。
|
||||
在前端集群的管理机上进入项目根目录,执行下面命令部署:
|
||||
- 任务1: 编辑 前端 .env.development 和 .env.production 环境变量(只需修改一次)
|
||||
- 任务2: 确认或编辑 Dockerfile,nginx.conf
|
||||
- 任务3: 编辑 act-runner.yml
|
||||
|
||||
---
|
||||
|
||||
详细展开说明:
|
||||
|
||||
**任务1:**
|
||||
|
||||
主要修改两个环境变量文件 `.env.development`,`.env.production` 中的:
|
||||
|
||||
```bash
|
||||
# 运行自动化集群部署脚本
|
||||
./docker/deploy-swarm.sh
|
||||
|
||||
# --- 其他命令 ---
|
||||
# 找技术负责人要
|
||||
# 情况1: 【内网模块】填写 Nacos 内网 ip 或 域名 即可
|
||||
# 情况2: 【外网模块】填写 traefik 公网 ip 或 域名 即可
|
||||
# .env.development, .env.production 中 可以不一样!
|
||||
VITE_NACOS_ADDRESS=????
|
||||
|
||||
# 删除之前的部署(可选)
|
||||
docker stack rm app-product
|
||||
|
||||
# 查看 app-product 集群运行情况
|
||||
docker stack ps app-product
|
||||
# 这个参数很重要,前端可以自定义填写,填写后不允许再改,填完给 技术负责人 即可
|
||||
# 微前端应用的名称,遵守 app-xxxxx
|
||||
# .env.development, .env.production 中 必须一样!
|
||||
VITE_SERVER_NAME=app-???
|
||||
|
||||
#【ps】其他参数看环境变量内说明
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**任务2:**
|
||||
|
||||
主要修改两个 `Dockerfile`,`nginx.conf`,改起来也很简单:
|
||||
|
||||
|
||||
Dockerfile 修改教程:
|
||||
|
||||
```bash
|
||||
|
||||
|
||||
# 将 VITE_SERVER_NAME 替换为 上一步设置的 VITE_SERVER_NAME 的 数值 即可
|
||||
RUN npx vite build --base=/VITE_SERVER_NAME/
|
||||
|
||||
# 将 VITE_SERVER_NAME 替换为 上一步设置的 VITE_SERVER_NAME 的 数值 即可
|
||||
COPY --from=builder /app/dist /usr/share/nginx/html/VITE_SERVER_NAME
|
||||
```
|
||||
|
||||
|
||||
nginx.conf 修改教程:
|
||||
|
||||
```bash
|
||||
# 看仔细了,有三处 VITE_SERVER_NAME 需要替换成 值!!
|
||||
location /VITE_SERVER_NAME/ {
|
||||
alias /usr/share/nginx/html/VITE_SERVER_NAME/;
|
||||
try_files $uri $uri/ /VITE_SERVER_NAME/index.html;
|
||||
add_header 'Access-Control-Allow-Origin' '*';
|
||||
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
|
||||
add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range';
|
||||
add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**任务3:**
|
||||
|
||||
act-runner.yml 是 Gitea Action 的核心,Gitea会将Job委托给Runner来运行,**所以我们前端本地必须要先运行 act-runner.yml 文件**,这样在我们提交代码的时候 Gitea Action 的自动构建才会运行!!
|
||||
|
||||
但是,运行 act-runner.yml 之前,需要先对 act-runner.yml 文件进行简单的配置:
|
||||
|
||||
```bash
|
||||
|
||||
# 核心 需要改动的配置
|
||||
# 可以直接让 仓库 的管理员 给你把下面参数之间配置好,当然你也可以自己配
|
||||
|
||||
# GITEA_INSTANCE_URL=这个前端项目模块的 git仓库地址
|
||||
# 格式:协议://域名 即可,例如:https://git.bmycode.help 或 https://gitee.com 等
|
||||
|
||||
# 项目仓库首页-设置-Actions-Runner 右上角可复制令牌
|
||||
# GITEA_RUNNER_REGISTRATION_TOKEN=注册令牌,来源三选一:实例,组织,全存储库
|
||||
environment:
|
||||
- GITEA_INSTANCE_URL=https://git.bmycode.help
|
||||
- GITEA_RUNNER_REGISTRATION_TOKEN=WFiO5JDwz7CHnk7fMGJYMcSITU81CLXuI7Ofg10e
|
||||
|
||||
```
|
||||
|
||||
改好后,在**项目文件夹根目录**打开终端,通过下面命令运行 act-runner.yml 文件:
|
||||
|
||||
```bash
|
||||
docker-compose -f act-runner.yml up -d
|
||||
|
||||
# 运行后,如果 在 docker desktop 的容器中找到 名字叫:gitea-act-runner 的容器,查看日志:
|
||||
|
||||
# 有下面这行,则表示 runner 成功启动!!docker desktop 可以关闭了或者放后台,不用管了!
|
||||
# level=debug msg="Successfully pinged the Gitea instance server"
|
||||
|
||||
# 如果出问题了,找 技术负责人!
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
|
||||
**到这一步,上线 配置已经搞完,很简单吧!剩下的,你提交代码到仓库就行,项目会自动构建,自动打包发布到公司内网集群中部署和运行,不用你管了!!**
|
||||
|
||||
|
||||
# 持续观察服务副本数是否达到预期
|
||||
watch docker stack services app-product
|
||||
```
|
||||
Reference in New Issue
Block a user