66 lines
2.0 KiB
Markdown
66 lines
2.0 KiB
Markdown
# 测试机 Drone CI(对接 Gogs)— 生产 Docker 打包
|
||
|
||
> 目标机:`101.35.245.122`
|
||
> Gogs:`http://101.35.245.122:3000`
|
||
> Drone UI:`http://101.35.245.122:18088`
|
||
> 产物目录:`/root/zkxw-releases/`
|
||
|
||
## 行为
|
||
|
||
- **仅 `tag` 触发**(普通 push 不打包;任意 tag 均可触发)
|
||
- 交付版本**固定**为 `v1.1.0`(与现网 `.env` 镜像标签一致,升级不必改 `ZKXW_*_IMAGE`)
|
||
- 执行 `./scripts/package-docker-deploy.sh v1.1.0`
|
||
→ `zkxw-backend:v1.1.0` + `zkxw-web:v1.1.0` → 交付包
|
||
- 拷贝到(同名覆盖):`/root/zkxw-releases/zkxw-docker-deploy-v1.1.0.tar.gz`
|
||
(`VERSION.txt` 内仍有 `git_commit`,可区分是哪次提交打的包)
|
||
|
||
可选:将发版用 `deploy/docker/.env`(含微信/RSA 等注入项)放到:
|
||
|
||
```text
|
||
/root/zkxw-releases/.deploy-docker.env
|
||
```
|
||
|
||
打包前会复制为仓库内 `deploy/docker/.env`(**勿提交 git**)。
|
||
|
||
## 1. 部署 / 更新 Runner
|
||
|
||
```bash
|
||
mkdir -p /root/drone /root/zkxw-releases
|
||
# 同步本目录 docker-compose.yml 后:
|
||
cd /root/drone
|
||
docker compose up -d
|
||
# 预拉流水线镜像(国内建议 daoCloud)
|
||
docker pull docker.m.daocloud.io/library/docker:27-cli
|
||
docker tag docker.m.daocloud.io/library/docker:27-cli docker:27-cli
|
||
```
|
||
|
||
云安全组放行 **TCP 18088**。测试机建议保留 `/swap-drone`(前端镜像构建吃内存)。
|
||
|
||
## 2. 登录与激活仓库
|
||
|
||
1. 打开 `http://101.35.245.122:18088`,用 Gogs 账号登录
|
||
2. 激活 `wuzilong/zkxw`
|
||
3. Webhook:`http://101.35.245.122:18088/hook`
|
||
|
||
## 3. 发版用法
|
||
|
||
```bash
|
||
# 本地打任意 tag 并推到 Gogs(仅作触发;包内版本仍是 v1.1.0)
|
||
git tag v1.1.0-20261024 # 或 v1.1.0、release-xxx 等
|
||
git push origin v1.1.0-20261024
|
||
|
||
# 构建完成后在测试机取包(文件名固定)
|
||
ls -lh /root/zkxw-releases/zkxw-docker-deploy-v1.1.0.tar.gz
|
||
```
|
||
|
||
Drone UI 可看构建日志;包内结构见 `deploy/docker/README.md`。
|
||
|
||
## 4. 运维
|
||
|
||
```bash
|
||
cd /root/drone
|
||
docker compose ps
|
||
docker compose logs -f --tail=100 drone-runner
|
||
docker compose restart runner
|
||
```
|