go项目打包部署的完整步骤
作者:k55 发布时间:2024-05-09 09:46:54
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
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
来源:https://blog.csdn.net/k393393/article/details/122674509
猜你喜欢
- 字典概述字典是一个映射集合,他储存的是键值对,通过键来查找值,而不是索引字典定义通过大括号{}与键值对来表示一个字典 字典名=
- 建立资料表:Step1首先开启phpmyadmin,进入wordpress资料库中,并新增一个wp_gbook的资料表与栏位数目8。Step
- Ø 基本常用查询 --select select * from student; --all 查询所有 select
- 在Python中,数据存储方式分为同步存储和异步存储。同步写入速度比较慢,而爬虫速度比较快,有可能导致数据保存不完整,一部分数据没有入库。而
- 使用astype实现dataframe字段类型转换# -*- coding: UTF-8 -*-import pandas as pddf
- 之前跟一些小伙伴有个讨论:大概就是很多跟数据打交道的朋友都面对过很复杂的excel公式,有时嵌套层数特别多,肉眼观看很容易蒙圈。有了这样的需
- 本文是对《Python Qt GUI快速编程》的第9章的扩展对话框例子Find and replace用Python3+PyQt5+Qt D
- 前言项目开发中,产品经理提了这样一个需求:将系统中的附件实现批量打包下载功能。本来系统中是有单个下载及批量下载功能,现在应业务方的需求,需要
- 本文实例为大家分享了tensorflow神经网络实现mnist分类的具体代码,供大家参考,具体内容如下只有两层的神经网络,直接上代码#引入包
- 利用Python3来实现TCP协议,和UDP类似。UDP应用于及时通信,而TCP协议用来传送文件、命令等操作,因为这些数据不允许丢失,否则会
- 守护进程模式使用python开发后台服务程序的时候,每次修改代码之后都需要重启服务才能生效比较麻烦。看了一下Python开源的Web框架(D
- ActiveMQ是java开发的消息中间件服务。可以支持多种协议(AMQP,MQTT,OpenWire,Stomp),默认的是OpenWir
- 本文实例为大家分享了python实现简易学生信息管理系统的具体代码,供大家参考,具体内容如下一、系统功能1.录入学生信息2.查找学生信息3.
- 避坑1:RTX30系列显卡不支持cuda11.0以下版本,具体上限版本可自行查阅:方法一,在cmd中输入nvidia-smi查看方法二:由此
- 在这可以用join()函数'x'.join(y),x可以是任意分割字符,y是列表或元组。以列表为例,可以将列表中的每一个元素
- 前言支持向量机 (Support Vector Machine, SVM) 是一种监督学习技术,它通过根据指定的类对训练数据进行最佳分离,从
- 一、web框架本质1.基于socket,自己处理请求#!/usr/bin/env python3#coding:utf8import soc
- xmlhttp,IE不支持overrideMimeType()方法,即使是IE7。 // Mozilla/Safari/
- 1、什么是混淆矩阵深度学习中,混淆矩阵是ROC曲线绘制的基础,同时它也是衡量分类型模型准确度中最基本,最直观,计算最简单的方法。它可以直观地
- dom0级事件<a href="#" id="hash" onclick="fn()