当前位置:网站首页>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开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
边栏推荐
- 软件测试分析流程及输出项包括哪些内容?
- 力扣练习——单词搜索
- 2022河南萌新联赛第(四)场:郑州轻工业大学 C - 最大公因数
- 来自雪域高原的馈赠——大凉山高原生态糖心苹果
- MySql字符串拆分实现split功能(字段分割转列、转行)
- PyQt5_pyqtgraph mouse draws straight lines on line charts
- A Practical Arrangement of Map GIS Development Matters (Part 1)
- 抓住那头牛(DAY 96)
- The practice of alibaba, data synchronization component canal
- ES6——class类实现继承
猜你喜欢
随机推荐
抓住那头牛(DAY 96)
递归实现组合型枚举(DAY 92)
使用pycharm debug 深度学习代码
Mysql子查询关键字的使用(exists)
棋盘问题(DAY 94)
MySQL安装常见报错处理大全
【无标题】
力扣练习——41 对称二叉树
AMQP协议详解
讯飞AIUI智能机器人5-----让器理解你(语音技术综合应用)
力扣练习——48 找到小镇的法官
MobaXsterm如何使用
"Digital reconstruction of the system, getting the CEO is the first step"
【七夕】是时候展现专属于程序员的“浪漫”了
Minecraft 1.18.1, 1.18.2 module development 23.3D animation armor production
Towhee 每周模型
How to quickly delete the compressed package password?
软件测试常见的问题
MySQL安装教程
学内核之五:问题一,关于上下文切换