脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Golang - go项目打包部署的完整步骤

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

2022-11-15 11:30k55 Golang

之前断断续续的接触到项目部署,一直没有详细的了解部署,于是最近就好好的专研一下项目的部署,下面这篇文章主要给大家介绍了关于go项目打包部署的相关资料,需要的朋友可以参考下

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

总结

到此这篇关于go项目打包部署的文章就介绍到这了,更多相关go项目打包部署内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/k393393/article/details/122674509

延伸 · 阅读

精彩推荐
  • GolangGo语言学习之反射的用法详解

    Go语言学习之反射的用法详解

    反射指的是运行时动态的获取变量的相关信息。本文将为大家详细介绍Go语言中反射的用法,文中的示例代码讲解详细,感兴趣的可以了解一下...

    隐姓埋名48695622022-09-26
  • GolangGolang的继承模拟实例

    Golang的继承模拟实例

    这篇文章主要介绍了Go语言使用组合的方式实现多继承的方法,实例分析了多继承的原理与使用组合方式来实现多继承的技巧,需要的朋友可以参考下,希望可...

    恋喵大鲤鱼7212021-08-12
  • Golanggo select的用法

    go select的用法

    本文主要介绍了go select的用法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    梁天8852022-08-30
  • GolangGolang中的变量学习小结

    Golang中的变量学习小结

    本文主要带大家学习了Golang里面的四大类型的变量,十分的详细,有需要的小伙伴可以参考下 ...

    _AlphaBaby_3242020-05-20
  • GolangGo语言HTTPServer开发的六种方式小结

    Go语言HTTPServer开发的六种方式小结

    Golang的Server开发显得非常简单,有很多种方式,本文就介绍了Go语言HTTPServer开发的六种方式,具有一定的参考价值,感兴趣的可以了解一下...

    FunTester11352021-11-29
  • Golang一文带你了解Go语言中的单元测试

    一文带你了解Go语言中的单元测试

    写过单元测试的开发人员应该理解,单元测试最核心的价值是为了证明:为什么我写的代码是正确的?也就是从逻辑角度帮你检查你的代码。本文就来和大...

    孙琦Ray8382022-07-20
  • GolangGolang中Json的序列化和反序列化的使用

    Golang中Json的序列化和反序列化的使用

    本文主要介绍了Golang中Json的序列化和反序列化的使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    itzhuzhu.5862022-09-26
  • Golang出泛型后 API 怎么办?Go 开发者要注意了

    出泛型后 API 怎么办?Go 开发者要注意了

    在今天这篇文章中,我们针对 Rob Pike 为什么会要调整 Go 泛型后的标准库 API 等的提议进行了分析。为此我们了解到 Go 核心团队对 ”how to update APIs for gene...

    脑子进煎鱼了6502021-10-26