当前位置:网站首页>go项目的打包部署
go项目的打包部署
2022-08-02 04:58:00 【m0_67401228】
1.go项目在window下编译简易打包
1).在windows下直接编译生成main.exe文件
在项目main.go同级目录下执行以下命令go build main.go

2).将当前目录下的main.go打包成gotest.exe文件(在windows下可以直接执行)
在项目main.go同级目录下执行以下命令go build -o gotest.exe main.go

9294afd259b12.png)
2.项目在window下打包成其他系统可运行的文件
1).在window下打包成linux
在项目main.go同级目录下,逐条执行以下命令
set CGO_ENABLED=0
set GOOS=linux
set GOARCH=amd64
go build -o main-linux main.go

将abc-demo-linux文件放入linux系统任何文件夹下,chmod 773 赋予文件可执行权限,到当前文件夹下执行./abc-demo-linux命令即可执行文件(不需要安装go,就是二进制文件)就可以直接运行了
2).在window下打包成window下可执行文件
在项目main.go同级目录下,逐条执行以下命令
set CGO_ENABLED=0
set GOOS=windows
set GOARCH=amd64
go build -o main-windows.exe main.go

3).在window下打包成mac系统可执行文件
在项目main.go同级目录下,逐条执行以下命令
set CGO_ENABLED=0
set GOOS=darwin
set GOARCH=amd64
go build -o main-mac main.go

3.项目在Mac下打包成其他系统可运行的文件
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o abc-demo-linux main.go
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -o abc-demo-mac main.go
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o abc-demo-windows.exe main.go
4.Linux主机编译Widows,MAC客户端
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o abc-demo-linux main.go
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -o adc-demo-mac main.go
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o abc-demo-windows.exe main.go
5.使用goreleaser多平台打包
1).安装goreleaser
goreleaser下载地址
解压缩后配置环境变量

填好环境变量后一路确定就好了
在cmd中查看版本goreleaser -v
2).在该项目根目录执行 goreleaser init 初始化配置
在项目根目录下执行goreleaser init命令,会生成一个.goreleaser.yaml的文件


3).添加git 支持同时添加tag
在项目根目录下执行一下命令
要用git关联github
git init
git add .
git commit -m "go项目"
git remote add origin 自己的github地址
git push -u origin master
4).使用goreleaser打包
打包命令goreleaser --snapshot --skip-publish --rm-dist
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
猜你喜欢
随机推荐
Use the advanced timer of GD32F207 to generate hidden bugs in PWM waves
质数路径(DAY 99)
MySQL 游标
【HCIE】NO.45 Hub and Spoke配置案例
How to quickly delete the compressed package password?
力扣练习——45 二叉树的锯齿形层次遍历
Mysql子查询关键字的使用(exists)
【HCIE】NO.30 OSPFv3的基本配置
选择黑盒测试用例设计方法的综合策略方案总结
UE4 创建开始游戏界面UI
P1012 [NOIP1998 Improve Group] Spelling
Live | 7.30 ApacheCon Asia 2022 IOT/IIOT topic, IoTDB PMC Qiao Jialin as the producer
RADIUS 如何提高 WiFi 无线网络安全性?
Mysql 回表
UE4 事件图表不小心拉了很远,找不到一开始创建的节点
MES系统物料管理的五大功能,建议收藏
棋盘问题(DAY 94)
递归实现组合型枚举(DAY 92)
prisma使用mongodb副本集群报错引发的一些列问题
来自雪域高原的馈赠——大凉山高原生态糖心苹果









