go项目打包部署的完整步骤

作者:k55 时间:2024-05-09 09:46:54 

1.go项目在window下编译简易打包

1).在windows下直接编译生成main.exe文件

在项目main.go同级目录下执行以下命令

go build main.go

go项目打包部署的完整步骤

go项目打包部署的完整步骤

2).将当前目录下的main.go打包成gotest.exe文件(在windows下可以直接执行)

在项目main.go同级目录下执行以下命令

go build -o gotest.exe main.go

go项目打包部署的完整步骤

2.项目在window下打包成其他系统可运行的文件

1).在window下打包成linux

在项目main.go同级目录下,逐条执行以下命令

set CGO_ENABLED=0
set GOOS=linux
set GOARCH=amd64
go build -o main-linux main.go

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

go项目打包部署的完整步骤

3).在window下打包成mac系统可执行文件

在项目main.go同级目录下,逐条执行以下命令

set CGO_ENABLED=0
set GOOS=darwin
set GOARCH=amd64
go build -o  main-mac main.go

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下载地址

go项目打包部署的完整步骤

解压缩后配置环境变量

go项目打包部署的完整步骤

填好环境变量后一路确定就好了

go项目打包部署的完整步骤

在cmd中查看版本

goreleaser -v

go项目打包部署的完整步骤

2).在该项目根目录执行 goreleaser init 初始化配置

在项目根目录下执行goreleaser init命令,会生成一个.goreleaser.yaml的文件

go项目打包部署的完整步骤

go项目打包部署的完整步骤

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

来源:https://blog.csdn.net/k393393/article/details/122674509

标签:go,打包,部署
0
投稿

猜你喜欢

  • Windows10安装Oracle19c数据库详细记录(图文详解)

    2024-01-23 20:13:15
  • python操作excel之openpyxl模块读写xlsx格式使用方法详解

    2021-01-16 23:17:50
  • golang解析网页利器goquery的使用方法

    2023-10-13 06:36:12
  • Mysql设置主键自动增长起始值的方案总结

    2024-01-16 18:49:23
  • oblog4.6转换ucenterHome1.5过程全记录,提供老用户无法登陆的补丁

    2009-10-29 12:04:00
  • mysql基于正则实现模糊替换字符串的方法分析

    2024-01-25 05:47:36
  • Mysql 存储过程中使用游标循环读取临时表

    2024-01-28 00:55:20
  • 运用Python巧妙处理Word文档的方法详解

    2023-11-13 16:58:29
  • Python+selenium 获取一组元素属性值的实例

    2021-06-06 02:28:27
  • MySQL数据库必备之条件查询语句

    2024-01-25 18:41:41
  • Python流程控制if条件选择与for循环

    2022-04-03 21:09:52
  • centos7通过yum安装mysql的方法

    2024-01-18 06:48:57
  • 我喜欢你 抖音表白程序python版

    2023-06-11 12:54:17
  • 从git仓库中删除.idea文件夹的小妙招

    2022-10-29 04:12:00
  • 在ASP.NET 2.0中操作数据之四十四:DataList和Repeater数据排序(三)

    2023-07-02 04:45:57
  • Python远程linux执行命令实现

    2023-11-17 14:48:14
  • 编写安全的SQL Server扩展存储过程

    2008-11-25 11:16:00
  • Oracle对两个数据表交集的查询

    2010-07-26 12:51:00
  • vue中Axios的封装与API接口的管理详解

    2024-05-02 16:23:39
  • Python 实现自动获取种子磁力链接方式

    2022-12-19 16:17:31
  • asp之家 网络编程 m.aspxhome.com