首页 > 其他分享 >go项目的打包部署

go项目的打包部署

时间:2023-07-11 17:15:21浏览次数:34  
标签:部署 ENABLED GOARCH build linux go main 打包

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开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

标签:部署,ENABLED,GOARCH,build,linux,go,main,打包
From: https://www.cnblogs.com/kn-zheng/p/17545319.html

相关文章

  • django 中 设置一个logging,来记录日志
    当你使用Django框架开发应用程序时,配置日志是一个重要的任务。以下是一步一步配置Django日志的示例:第1步:在你的Django项目中创建一个名为"logs"的文件夹,用于存储日志文件。第2步:在项目的根目录下的settings.py文件中,找到`LOGGING`配置项。如果该配置项不存在,请添加以下内容:```p......
  • CodeForces 1525F Goblins And Gnomes
    洛谷传送门CF传送门套路地,将DAG的最小不交路径覆盖转化为点数减去拆点以后最大匹配。感性理解就是一开始每个点都是一条路径,一个匹配意味着两条路径结合了。由题意知,第\(i\)次进攻时最小不交路径覆盖必须\(>i\),也就是说,设最大匹配为\(k\),那么\(n-k>i\),即\(k\le......
  • 基于python的租房网站-房屋出租租赁系统(python+django+vue)
    该项目是基于python/django/vue开发的房屋租赁系统/租房平台,作为本学期的课程作业作品。欢迎大家提出宝贵建议。功能介绍平台采用B/S结构,后端采用主流的Python+Django进行开发,前端采用主流的Vue.js进行开发。整个平台包括前台和后台两个部分。前台功能包括:首页、房屋详情页、......
  • 基于python+django的酒店预定网站-酒店管理系统
    该系统是基于python+django开发的酒店预定管理系统。适用场景:大学生、课程作业、毕业设计。学习过程中,如遇问题可在github给作者留言。演示地址前台地址:http://hotel.gitapp.cn后台地址:http://hotel.gitapp.cn/admin后台管理帐号:用户名:admin123密码:admin123源码地址h......
  • 基于python+django的外卖点餐网站-外卖点餐系统
    该系统是基于python+django开发的外卖点餐系统。适用场景:大学生、课程作业、毕业设计。学习过程中,如遇问题可以在github给作者留言。演示地址前台地址:http://food.gitapp.cn后台地址:http://food.gitapp.cn/admin后台管理帐号:用户名:admin123密码:admin123源码地址https......
  • 基于python+django的宠物商店-宠物管理系统设计与实现
    该系统是基于python+django开发的宠物商店-宠物管理系统。是给师妹开发的课程作业。现将源码开放给大家。大家学习过程中,如遇问题可以在github咨询作者。演示地址前台地址:http://pet.gitapp.cn后台地址:http://pet.gitapp.cn/admin后台管理帐号:用户名:admin123密码:admin12......
  • 基于python+django的家教预约网站-家教信息管理系统设计与实现
    该系统是基于python+django开发的家教预约网站。是给师妹做的课程作业。大家在学习过程中,遇到问题可以在github给作者留言。效果演示前台地址:http://jiajiao.gitapp.cn后台地址:http://jiajiao.gitapp.cn/admin后台管理帐号:用户名:admin123密码:admin123源码地址https:......
  • 基于python+django的旅游信息网站-旅游景点门票管理系统设计与实现
    该系统是基于python+django开发的旅游景点门票管理系统。是给师弟做的课程作业。大家学习过程中,遇到问题可以在github咨询作者演示地址前台地址:http://travel.gitapp.cn后台地址:http://travel.gitapp.cn/admin后台管理帐号:用户名:admin123密码:admin123源码地址https://......
  • 业务系统常规部署交接模板
    1总体情况ip应用192.168.1.1前端1192.168.1.2后端1......1.1前端1#1.进程查看#2.服务路径以及启停#3.版本更新#4.日志查看#5.配置文件说明1.2后端1#1.进程查看#2.服务路径以及启停#3.版本更新#4.日志查看......
  • 跟着 GPT-4 从0到1学习 Golang 并发机制(一)
    目录一、前言二、开聊2.1Golang里的并发机制介绍2.2Goroutine与线程2.3Goroutine与线程的调度开销2.4用户态和内核态2.5Golang并发编程相关的知识点2.6Select语句2.7Select语句的default使用场景三、总结一、前言今天玩点不一样的,我想试试看GPT-4能不能当好一......