欢迎来到代码驿站!

Golang

当前位置:首页 > 脚本语言 > Golang

Go 实现一次性打包各个平台的可执行程序

时间:2022-11-18 10:09:10|栏目:Golang|点击:

第一步:

安装插件

$ go get github.com/mitchellh/gox

第二步:

打包(必须 CD 到Golang 的 Main 文件所在的路径)

这种打包方式有弊端就是都放在了根目录下.而且文件名也改了;

$ gox

分别放在不同的文件夹:

$ gox -output "{{.Dir}}_{{.OS}}_{{.Arch}}/swbatch"

第三步:

根据需求打包出不同平台的可执行程序

只想打 Linux 系统下的可执行程序:

$ gox -os="linux"

只想打 Linux Bit64 系统下的可执行程序:

$ gox -osarch="linux/amd64"

Mac 下打包 Linux 环境下运行的程序

$ env GOOS=linux GOARCH=386 go build main.go

补充:GO 编译 打包 部署

进入到 /data/workspace_go/github.com/freewebsys/go-admin下

执行 bee pack -be GOOS=linux

自动生成 二进制 GOODS linux GOARCH amd64

自动生成 go-admin.tar.gz, 放到服务器 /root/go/pkg下面,解压,

生成 可执行文件 go-admin、static、views和conf几个文件夹,配置conf文件下的app.conf的端口号,然后 ./go-admin即可启动服务, 但SHELL终端关闭,GO服务也随之关闭,那么如何实现后台运行呢?

nohup ./go-admin 即可!!!

nohup ./go-admin 1 > goadmin.out 2 > goerror.err 也可以

package main
import (
 "github.com/astaxie/beego"
 "github.com/astaxie/beego/context"
 "github.com/astaxie/beego/logs"
 "github.com/astaxie/beego/orm"
 _ "github.com/freewebsys/go-admin/routers"
 _ "github.com/go-sql-driver/mysql"
 _ "github.com/mattn/go-sqlite3"
)

func main() {
 //注册sqlite3
 // orm.RegisterDataBase("default", "sqlite3", "go-admin.db")
 orm.RegisterDriver("mysql", orm.DRMySQL) //注册驱动       
 
//注册默认数据库 (test数据库提前建好)
 orm.RegisterDataBase("default", "mysql", "root:123456@/test?charset=utf8", 30, 30)
 //同步 ORM 对象和数据库
 //这时, 在你重启应用的时候, beego 便会自动帮你创建数据库表。
 orm.Debug = true
 orm.RunSyncdb("default", false, true)
 //增加拦截器。
 var filterAdmin = func(ctx *context.Context) {
 url := ctx.Input.URL()
 logs.Info("##### filter url : %s", url)
 //TODO 如果判断用户未登录。
 }
 beego.InsertFilter("/admin/*", beego.BeforeExec, filterAdmin)
 beego.Run()
}

上一篇:Go到底能不能实现安全的双检锁(推荐)

栏    目:Golang

下一篇:没有了

本文标题:Go 实现一次性打包各个平台的可执行程序

本文地址:http://www.codeinn.net/misctech/219267.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有