Show HN: Gocd – a lightweight Go-based CI/CD tool that runs on your dev machine
7 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.