你的轻量级、超快速的代码托管和持续集成服务(由 Drone 提供支持)
Gitness正在Drone之上构建,以创建一个具有代码托管和管道功能的新开源开发人员平台。Gitness开发正在分支中进行。无人机开发将继续在分支中,直到我们准备好发布第一个标记的 Gitness 版本,届时项目将完全收敛。
master
drone
有关 Gitness 的更多信息,请访问 gitness.com。有关无人机的更多信息,请访问 drone.io
最新公开发布的 docker 镜像可以在 harness/gitness 上找到。要试用,请运行以下命令。容器运行后,你可以在浏览器中访问 localhost:3000。
docker run \
-p 3000:3000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /tmp/gitness:/data \
harness/gitness:latest
Gitness 映像使用卷来存储数据库和存储库。强烈建议使用绑定装载或命名卷,否则一旦容器停止,所有数据都将丢失。
安装 Node 和 Go 版本 1.19 或更高版本的最新稳定版本,然后安装以下 Go 程序。确保将 GOPATH bin 目录添加到你的 PATH 中。
安装原型
protoc --version
brew unlink protobuf
curl -s https://raw.githubusercontent.com/Homebrew/homebrew-core/9de8de7a533609ebfded833480c1f7c05a3448cb/Formula/protobuf.rb > /tmp/protobuf.rb
brew install /tmp/protobuf.rb
protoc --version
安装 protoc-gen-go 和 protoc-gen-go-rpc:
安装 protoc-gen-go v1.28.1(请注意,这将在$GOBIN中安装二进制文件,因此请确保$GOBIN在你的$PATH中)
go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.28.1
安装 protoc-gen-go-grpc v1.2.0
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.2.0
$ make dep
$ make tools
构建用户界面:
$ pushd web
$ yarn install
$ yarn build
$ popd
构建服务器和命令行工具:
$ make build
该项目支持 Go 支持的所有操作系统和架构。这意味着你可以在机器上构建和运行系统;本地开发和测试不需要 Docker 容器。
在 启动服务器
localhost:3000
./gitness server .local.env
该项目包括一个用于与系统交互的完整用户界面。运行应用程序时,可以通过在浏览器中导航到来访问用户界面。
http://localhost:3000
该项目包括一个招摇的规范。运行应用程序时,可以通过在浏览器中导航到 来访问 swagger 规范(有关原始 yaml,请参阅)。
http://localhost:3000/swagger
http://localhost:3000/openapi.yaml
请确保在添加新的 rest API 时更新 UI 使用的自动生成的客户端代码。
要重新生成代码,请执行以下步骤:
http://localhost:3000/openapi.yaml
web/src/services/code/swagger.yaml
最新的 API 更改现在应反映在
web/src/services/code/index.tsx
请参考 大摇大摆 了解我们 rest API 的规范。
对于测试,最简单的方法是使用 PAT 以默认用户身份执行操作:
admin
# LOGIN (user: admin, pw: changeit)
$ ./gitness login
# GENERATE PAT (1 YEAR VALIDITY)
$ ./gitness user pat "my-pat-uid" 2592000
该命令输出已授予用户完全访问权限的有效 PAT。然后,令牌可以作为标头的一部分与 Postman 或 curl 一起发送:
Authorization
$ curl http://localhost:3000/api/v1/user \
-H "Authorization: Bearer $TOKEN"
该项目包括用于开发和运行服务的非常基本的命令行工具。请记住,必须先启动服务器,然后才能执行命令。
有关支持的操作的完整列表,请参阅
$ ./gitness --help