Hasty Briefsbeta

双语

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许可证开源。