自托管版 GitHub:Git 代码托管 + CI/CD 流水线 + Gitspaces 云开发环境 + 制品仓库,36K Star 开源 DevOps 平台
⭐ 开源免费Harness Open Source(开源时期也叫 Gitness)是 Harness 团队推出的 一体化自托管开发平台,可以理解成「自己部署的私有 GitHub + 流水线」。它把 Git 代码托管、CI/CD 流水线、云开发环境(Gitspaces)、制品仓库四大能力打包进一个轻量服务里, 用 Go 语言编写,跑起来只要 ~100MB 内存,采用 Apache-2.0 协议,可免费商用。
它特别适合搭配 Codex 这类 AI 编程工具:Codex 负责快速写代码,Harness 负责把代码 托管、自动测试、自动部署上线,再加上云端开发环境和镜像/软件包仓库, 一个人也能拥有一整套完整的研发流水线。流水线语法兼容 Drone CI(YAML),熟悉 GitHub Actions 的同学几乎零成本上手。
用 Docker 拉起官方镜像即可,数据持久化到本地目录,启动后浏览器访问本机端口即可进入:
docker run -d \
--name harness \
-p 3000:3000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v harness-data:/data \
harness/harness
启动完成后,在浏览器打开本机 3000 端口,注册第一个管理员账号即可。
在界面里「新建仓库」,得到一个私有 Git 地址。把 Codex 生成的本地项目推送上去:
git init
git add .
git commit -m "feat: codex 初始化项目"
git remote add origin <你的-harness-仓库地址>
git push -u origin main
在仓库根目录新建 .harness/pipeline.yaml(语法兼容 Drone CI),定义构建、测试、部署阶段。每次 push 或合并 PR 都会自动触发流水线:
kind: pipeline
type: docker
name: build-test-deploy
steps:
- name: install
image: node:20
commands:
- npm ci
- name: test
image: node:20
commands:
- npm test
- name: deploy
image: node:20
commands:
- npm run build
- ./scripts/deploy.sh
在「Gitspaces」里为仓库一键开通浏览器内的云开发环境,预装好依赖即开即用;构建产物(Docker 镜像、软件包)可推送到内置「制品仓库」统一管理,配合流水线实现从写代码到上线的全流程闭环。
Harness 是完全自托管的,代码、流水线、镜像全在你自己的服务器上,数据不出本地,没有云端依赖。相比 GitLab 动辄 4G+ 内存,它只要约 100MB,部署和维护成本低很多,特别适合个人和小团队。
不是。Harness 是独立的 DevOps 平台,任何方式写的代码都能托管。只是 Codex 这类 AI 编程工具出码速度快,配上 Harness 的自动测试和部署,正好补齐「写完之后怎么上线」这一环,所以两者搭配很顺手。
不难。它兼容 Drone CI 的 YAML 语法,结构和 GitHub Actions 很像(stages / steps / commands),熟悉任意一种 CI 的同学基本看一眼就会写。官方还提供了大量可复用的流水线模板。
支持。Harness Open Source 提供一键导入,可从 GitHub、GitLab、Bitbucket 等平台迁移代码仓库和流水线,迁移成本很低。