$ gf build -h
USAGE
gf build ARGUMENT [OPTION]
ARGUMENT
FILE building file path
OPTION
-n, --name output binary name
-v, --version output binary version
-a, --arch output binary architecture, multiple arch separated with ','
-s, --system output binary system, multiple os separated with ','
-o, --output output binary path, used when building single binary file
-p, --path output binary directory path, default is './bin'
-e, --extra extra custom "GO build" options
-m, --mod like "-mod" option of "go build", use "-m none" to disable go module
-c, --cgo enable or disable cgo feature, it's disabled in default
-/--pack pack specified folder into temporary go file before building and removes it after built
-h, --help more information about this command
EXAMPLE
gf build main.go
gf build main.go --pack public,template
gf build main.go --cgo
gf build main.go -m none
gf build main.go -n my-app -a all -s all
gf build main.go -n my-app -a amd64,386 -s linux -p .
gf build main.go -n my-app -v 1.0 -a amd64,386 -s linux,windows,darwin -p ./docker/bin
DESCRIPTION
The "build" command is most commonly used command, which is designed as a powerful wrapper for
"go build" command for convenience cross-compiling usage.
It provides much more features for building binary:
1. Cross-Compiling for many platforms and architectures.
2. Configuration file support for compiling.
3. Build-In Variables.
PLATFORMS
darwin amd64,arm64
freebsd 386,amd64,arm
linux 386,amd64,arm,arm64,ppc64,ppc64le,mips,mipsle,mips64,mips64le
netbsd 386,amd64,arm
openbsd 386,amd64,arm
windows 386,amd64
仅限于交叉编译使用到GoFrame
框架的项目,支持绝大部分常见系统的直接交叉编译。
成都创新互联来电联系:13518219792,为您提供成都网站建设网页设计及定制高端网站建设服务,成都创新互联网页制作领域10年,包括葡萄架等多个方面拥有多年设计经验,选择成都创新互联,为网站锦上添花!
build
命令自动嵌入编译变量,这些变量用户可自定义,并且在运行时通过gbuild
组件获取。使用gf build
的项目将会默认嵌入以下变量:
当前Go
版本
当前GoFrame
版本
当前Git Commit
(如果存在)
当前编译时间
build
支持同时从命令行以及配置文件指定编译参数、选项。GoFrame
框架的所有组件及所有生态项目都是使用的同一个配置管理组件。以下是一个简单的配置示例供参考(以config.yaml
为例):
gfcli:
build:
name: "gf"
arch: "all"
system: "all"
mod: "none"
pack: ""
version: "v1.0.0"
output: "./bin"
extra: ""
配置选项的释义同命令行同名选项。
名称 | 必须 | 默认值 | 含义 | 示例 |
name |
否 | 与程序入口go文件同名 | 生成的可执行文件名称。如果是windows 平台,那么默认会加上.exe 后缀 |
gf |
arch |
否 | 当前系统架构 | 编译架构,多个以, 号分隔,如果是all 表示编译所有支持架构 |
386,amd64,arm |
system |
否 | 当前系统平台 | 编译平台,多个以, 号分隔,如果是all 表示编译所有支持平台 |
linux,darwin,windows |
path |
否 | ./bin |
编译可执行文件存储的目录地址 | ./bin |
mod |
否 | 同go build -mod 编译选项,不常用 |
none |
|
cgo |
否 | 0 |
是否开启CGO ,默认是关闭的。如果开启,那么交叉编译可能会有问题。 |
0 |
pack |
否 | 需要打包的目录,多个以, 号分隔,生成到packed/data.go |
public,template |
|
version |
否 | 程序版本,如果指定版本信息,那么程序生成的路径中会多一层以版本名称的目录 | v1.0.0 |
|
output |
否 | 输出的可执行文件路径,当该参数指定时,name 和path 参数失效,常用于编译单个可执行文件 |
./bin/gf.exe |
|
extra |
否 | 额外自定义的编译参数,会直接传递给go build 命令 |
||
varMap |
否 | 自定义的内置变量键值对 |
|
编译时的内置变量可以在运行时通过gbuild
包 构建信息-gbuild
获取。
$ gf build
2020-12-31 00:35:25.562 start building...
2020-12-31 00:35:25.562 go build -o ./bin/darwin_amd64/gf main.go
2020-12-31 00:35:28.381 go build -o ./bin/freebsd_386/gf main.go
2020-12-31 00:35:30.650 go build -o ./bin/freebsd_amd64/gf main.go
2020-12-31 00:35:32.957 go build -o ./bin/freebsd_arm/gf main.go
2020-12-31 00:35:35.824 go build -o ./bin/linux_386/gf main.go
2020-12-31 00:35:38.082 go build -o ./bin/linux_amd64/gf main.go
2020-12-31 00:35:41.076 go build -o ./bin/linux_arm/gf main.go
2020-12-31 00:35:44.369 go build -o ./bin/linux_arm64/gf main.go
2020-12-31 00:35:47.352 go build -o ./bin/linux_ppc64/gf main.go
2020-12-31 00:35:50.293 go build -o ./bin/linux_ppc64le/gf main.go
2020-12-31 00:35:53.166 go build -o ./bin/linux_mips/gf main.go
2020-12-31 00:35:55.840 go build -o ./bin/linux_mipsle/gf main.go
2020-12-31 00:35:58.423 go build -o ./bin/linux_mips64/gf main.go
2020-12-31 00:36:01.062 go build -o ./bin/linux_mips64le/gf main.go
2020-12-31 00:36:03.502 go build -o ./bin/netbsd_386/gf main.go
2020-12-31 00:36:06.280 go build -o ./bin/netbsd_amd64/gf main.go
2020-12-31 00:36:09.332 go build -o ./bin/netbsd_arm/gf main.go
2020-12-31 00:36:11.811 go build -o ./bin/openbsd_386/gf main.go
2020-12-31 00:36:14.140 go build -o ./bin/openbsd_amd64/gf main.go
2020-12-31 00:36:17.859 go build -o ./bin/openbsd_arm/gf main.go
2020-12-31 00:36:20.327 go build -o ./bin/windows_386/gf.exe main.go
2020-12-31 00:36:22.994 go build -o ./bin/windows_amd64/gf.exe main.go
2020-12-31 00:36:25.795 done!
文章题目:创新互联GoFrame教程:GoFrame开发工具-交叉编译
网站URL:http://www.shufengxianlan.com/qtweb/news31/235831.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联