Show HN: Gocd – a lightweight Go-based CI/CD tool that runs on your dev machine
8 months ago
- #continuous-deployment
- #GoCD
- #GitHub
- GoCD是一个轻量级、跨平台的持续部署服务,可将代码从GitHub同步到开发、预发布或生产服务器。
- 提供Linux(amd64和arm64)、macOS(Intel和Apple Silicon)及Windows系统的下载安装指南。
- 安装流程包括下载二进制文件、设置权限并移动到系统指定位置。
- 支持以用户服务形式安装,可配置平台专属服务(systemd、LaunchAgent、计划任务)。
- 认证设置包含GitHub仓库的SSH密钥配置指南,以及HTTPS URL的交互式令牌设置。
- 仓库监控选项可指定分支、触发类型(推送、PR、两者)及部署路径。
- 仓库管理命令:添加/列出/删除,支持按分支、路径或全部实例操作。
- 服务管理命令:启动/停止/状态查看,日志支持实时追踪模式。
- 可在仓库根目录创建部署脚本(gocd.sh/gocd.bat等),拉取代码后自动执行。
- 部署脚本可调用环境变量:GOCD_REPO_PATH、GOCD_TIMESTAMP、GOCD_VERSION及Git详情。
- 详细说明SSH与HTTPS认证方式,包括令牌生成与配置方法。
- 从源码构建需Go 1.21+和Git环境,提供全平台构建脚本、本地编译及测试指引。
- 典型用例:监控团队开发仓库、PR合并时触发部署、生产分支推送等场景。
- 故障排查涵盖服务状态检查、日志分析、认证验证及部署脚本权限诊断。
- 贡献指南包括fork项目、创建分支、提交变更和发起PR的完整流程。
- 本项目采用MIT许可证开源。