🚀 专为 Go 开发者设计的跨平台代码构建工具
CP Code Build Tool 是一个强大的跨平台命令行工具,专门为 Go 开发者设计。它能够帮助你:
- 🎯 一键编译 - 将 Go 代码编译成多个平台的可执行文件
- 📦 智能打包 - 自动生成 ZIP 和 TAR.GZ 格式的发布包
- 🔧 配置驱动 - 通过 YAML 配置文件灵活管理构建参数
- 🌍 跨平台支持 - 支持 Windows、macOS、Linux 三大主流操作系统
- ⚡ 并行构建 - 支持并行编译,大幅提升构建速度
- 🛠️ 环境管理 - 自动检测和管理 Go 环境变量
- 支持 6 个主流平台:Windows (amd64/arm64)、macOS (amd64/arm64)、Linux (amd64/arm64)
- 自动处理平台特定的编译参数
- 支持条件编译和构建标签
- 支持 ZIP 和 TAR.GZ 格式
- 可配置包含/排除文件规则
- 自定义打包文件命名模板
- 自动包含 README、LICENSE 等文档
- YAML 格式配置文件,易于理解和修改
- 支持环境变量和模板变量
- 配置验证和错误提示
- 命令行配置管理工具
- 并行编译支持
- 构建钩子(pre/post 构建脚本)
- 环境变量管理
- 详细的构建日志和进度显示
- Go 1.21 或更高版本
- Windows、macOS 或 Linux 操作系统
-
下载工具:
# 下载 cp-code-build.exe 到你的项目目录 -
验证安装:
./cp-code-build.exe --help
# 创建项目目录
mkdir my-go-app
cd my-go-app
# 初始化 Go 模块
go mod init my-go-app
# 创建主程序
echo 'package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}' > main.go
# 初始化构建配置
./cp-code-build.exe init my-go-app# 构建所有平台版本
./cp-code-build.exe build --verbose# 查看生成的文件
ls -la dist/ packages/| 命令 | 描述 | 示例 |
|---|---|---|
init |
初始化项目配置 | ./cp-code-build.exe init my-app |
build |
一键构建(编译+打包) | ./cp-code-build.exe build --verbose |
compile |
仅编译 | ./cp-code-build.exe compile --target linux/amd64 |
pack |
仅打包 | ./cp-code-build.exe pack --format zip |
config |
配置管理 | ./cp-code-build.exe config show |
env |
环境管理 | ./cp-code-build.exe env show |
version |
显示版本 | ./cp-code-build.exe version |
| 选项 | 描述 | 示例 |
|---|---|---|
--verbose |
详细输出 | ./cp-code-build.exe build --verbose |
--target |
指定目标平台 | --target linux/amd64 |
--format |
指定打包格式 | --format zip |
--clean |
构建前清理 | --clean |
--parallel |
并行构建 | --parallel=true |
工具使用 config.yaml 配置文件管理所有构建参数:
# 项目配置
project:
name: "my-app"
version: "1.0.0"
description: "我的 Go 应用"
# 构建配置
build:
output_dir: "./dist"
targets:
- "linux/amd64"
- "windows/amd64"
- "darwin/amd64"
ldflags: "-s -w"
# 打包配置
pack:
output_dir: "./packages"
formats:
- "zip"
- "tar.gz"
include:
- "README.md"
- "LICENSE"- 快速构建个人项目
- 为不同平台生成可执行文件
- 自动化发布流程
- 统一的构建配置
- 自动化 CI/CD 集成
- 标准化的发布流程
- 多平台支持
- 自动化发布
- 简化贡献者构建流程
hooks:
pre_build:
- "go fmt ./..."
- "go vet ./..."
- "go test ./..."
post_build:
- "echo '构建完成!'"// +build linux
package main
func init() {
// Linux 特定代码
}project:
version: "${VERSION:-1.0.0}"
author: "${AUTHOR:-Unknown}"欢迎贡献代码和提出建议!
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/amazing-feature) - 提交更改 (
git commit -m 'Add amazing feature') - 推送到分支 (
git push origin feature/amazing-feature) - 创建 Pull Request
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
感谢所有为这个项目做出贡献的开发者!
开始使用 CP Code Build Tool,让 Go 项目构建变得简单高效! 🚀