Hasty Briefsbeta

Show HN: Gocd – a lightweight Go-based CI/CD tool that runs on your dev machine

8 hours ago
  • #continuous-deployment
  • #GoCD
  • #GitHub
  • GoCD is a lightweight, cross-platform continuous deployment service that syncs code from GitHub to development, staging, or production servers.
  • Download instructions for Linux (amd64 and arm64), macOS (Intel and Apple Silicon), and Windows are provided.
  • Installation involves downloading the binary, setting permissions, and moving it to the appropriate system location.
  • GoCD can be installed as a user service, setting up platform-specific services (systemd, LaunchAgent, Scheduled Task).
  • Authentication setup includes SSH key instructions for GitHub repositories and interactive token setup for HTTPS URLs.
  • Repository monitoring options include specifying branches, trigger types (push, pr, both), and deployment paths.
  • Commands for managing repositories: add, list, remove, with options for branch, path, or all instances.
  • Service management commands: start, stop, status, and log viewing with real-time follow option.
  • Deployment scripts (gocd.sh, gocd.bat, etc.) can be created in the repository root for automatic execution post-pull.
  • Environment variables available to deployment scripts include GOCD_REPO_PATH, GOCD_TIMESTAMP, GOCD_VERSION, and Git details.
  • SSH and HTTPS authentication methods are detailed, including token generation and setup.
  • Building from source requires Go 1.21 or later and Git, with build scripts for all platforms, local builds, and testing.
  • Example use cases include monitoring team repositories for development, deploying on PR merges, and production branch pushes.
  • Troubleshooting tips cover checking service status, logs, authentication, and deployment script permissions.
  • Contribution guidelines include forking, branching, committing changes, and opening pull requests.
  • The project is licensed under the MIT License.