gitdataai/scripts
ZhenYi c330c23cef
Some checks are pending
Build and Publish / manifest (push) Blocked by required conditions
Build and Publish / ci (push) Waiting to run
Build and Publish / docker (app) (push) Blocked by required conditions
Build and Publish / docker (email-worker) (push) Blocked by required conditions
Build and Publish / docker (git-hook) (push) Blocked by required conditions
Build and Publish / docker (gitserver) (push) Blocked by required conditions
Build and Publish / docker (migrate) (push) Blocked by required conditions
Build and Publish / docker (operator) (push) Blocked by required conditions
Build and Publish / docker-arm64 (app) (push) Blocked by required conditions
Build and Publish / docker-arm64 (email-worker) (push) Blocked by required conditions
Build and Publish / docker-arm64 (git-hook) (push) Blocked by required conditions
Build and Publish / docker-arm64 (gitserver) (push) Blocked by required conditions
Build and Publish / docker-arm64 (migrate) (push) Blocked by required conditions
chore(build): add build script
2026-04-14 20:22:06 +08:00
..
build.js chore(build): add build script 2026-04-14 20:22:06 +08:00
deploy.js chore(build): add build script 2026-04-14 20:22:06 +08:00
fix-openapi-tags.js commit: no msg 2026-04-14 19:02:01 +08:00
gen-client.js commit: no msg 2026-04-14 19:02:01 +08:00
push.js chore(build): add build script 2026-04-14 20:22:06 +08:00
README.md chore(build): add build script 2026-04-14 20:22:06 +08:00

构建脚本

一键构建脚本

build.js - 构建镜像

# 构建所有镜像
node scripts/build.js

# 构建指定服务
node scripts/build.js app gitserver

# 指定 tag
TAG=v1.0.0 node scripts/build.js

# 指定架构
TARGET=aarch64-unknown-linux-gnu node scripts/build.js

环境变量:

变量 默认值 说明
REGISTRY harbor.gitdata.me/gta_team 镜像仓库
TAG latest 镜像标签
TARGET x86_64-unknown-linux-gnu Rust 交叉编译目标

push.js - 推送镜像

# 推送所有镜像
HARBOR_USERNAME=user HARBOR_PASSWORD=pass node scripts/push.js

# 推送指定服务
HARBOR_USERNAME=user HARBOR_PASSWORD=pass TAG=sha-abc123 node scripts/push.js app

环境变量:

变量 默认值 说明
REGISTRY harbor.gitdata.me/gta_team 镜像仓库
TAG latest 或 Git SHA 镜像标签
HARBOR_USERNAME - 必填 仓库用户名
HARBOR_PASSWORD - 必填 仓库密码

deploy.js - 部署到 Kubernetes

# 部署最新镜像
node scripts/deploy.js

# 干跑模式(不实际部署)
node scripts/deploy.js --dry-run

# 部署并运行数据库迁移
node scripts/deploy.js --migrate

# 指定 tag
TAG=sha-abc123 node scripts/deploy.js

# 指定命名空间
NAMESPACE=staging node scripts/deploy.js

环境变量:

变量 默认值 说明
REGISTRY harbor.gitdata.me/gta_team 镜像仓库
TAG latest 或 Git SHA 镜像标签
NAMESPACE c-----code K8s 命名空间
RELEASE c-----code Helm Release 名称
KUBECONFIG ~/.kube/config Kubeconfig 路径

完整 CI/CD 流程

# 1. 构建
node scripts/build.js

# 2. 推送
HARBOR_USERNAME=user HARBOR_PASSWORD=pass node scripts/push.js

# 3. 部署
node scripts/deploy.js --migrate

本地开发

# 本地构建测试
node scripts/build.js app

# 使用本地 tag
TAG=dev node scripts/build.js

# 部署到测试环境
NAMESPACE=test node scripts/deploy.js