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

目录
  • 1.go项目在window下编译简易打包
  • 2.项目在window下打包成其他系统可运行的文件
  • 3.项目在Mac下打包成其他系统可运行的文件
  • 5.使用goreleaser多平台打包
  • 总结

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

总结

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

(0)

相关推荐

  • 利用rpm打包上线部署golang代码的方法教程

    前言: 经过一段时间的测试验证,决定使用RPM来做Golang服务的部署方式. 我们组关于代码的部署方式主要有这么几种,Python直接使用virtualenv + py code的方式来上线,Lua 是直接打包,Golang 是先编译生成二进制之后,联合配置文件直接打包. 但由于我们开发的Golang的代码很多是基础组件,需要很多节点都去安装部署.那么这时候自己编译打包跟RPM的方式其实很是想象的,那还不如复用公司内部成熟的基于rpm的上线系统. 下面话不多说了,来一起看看详细的介绍吧. rp

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

    目录 1.go项目在window下编译简易打包 2.项目在window下打包成其他系统可运行的文件 3.项目在Mac下打包成其他系统可运行的文件 5.使用goreleaser多平台打包 总结 1.go项目在window下编译简易打包 1).在windows下直接编译生成main.exe文件 在项目main.go同级目录下执行以下命令 go build main.go 2).将当前目录下的main.go打包成gotest.exe文件(在windows下可以直接执行) 在项目main.go同级目录下

  • Vue项目打包部署到apache服务器的方法步骤

    vue项目在开发环境下,让项目运行起来,是通过npm run dev命令,原理是在本地搭建了一个express服务器. 但是在服务器上就不是这样的,必须要通npm run build命令来对整个项目进行打包,打包后会在项目目录下生成一个dist文件夹,内容如下: 然后就是把这些文件丢到服务器上的某个文件夹下,我这里的文件夹名字是ibms 遇到的问题: 1. 直接去访问http://www.xxx.com/ibms/,会发现网页是白屏的,什么都没有,这就比较奇怪了,其实是因为资源加载的路径有问题!

  • Vue项目打包部署到GitHub Pages的实现步骤

    目录 前言 前期准备 重要说明 步骤1 步骤2 步骤3 步骤4 步骤5 步骤6 前言 关于什么是github pages?怎样创建github 仓库上传本地项目到GitHub远程仓库?等基本操作本文不再赘述,初学者可以通过搜索找到大量文章教程.本文重点在于: 如何将vue项目源码(含dist目录)同步到到github仓库,同时单独将项目下的dist目录同步到gh-pages分支以便使用GitHub pages 发布和预览静态网页. 针对以上问题,作者以往的做法是将Vue项目源码托管到源码仓库,然

  • Vue项目打包部署的实战过程记录

    目录 前言 一.准备工作--服务器和nginx使用 1. 准备一台服务器 2. nginx安装和启动 3. 了解nginx: 修改nginx配置,让nginx服务器代理我们创建的文件 二.Vue项目打包同步文件到远程服务器 1. 打包 2. 同步到远程服务器 3. 同步ssh key 三.非域名根路径发布 1. nginx配置 2. 项目配置 3. 绝对路径引用的静态资源找不到的问题 四.history模式部署 1. 项目配置 2. nginx配置 3. history模式部署到非域名根路径下

  • Flask项目的部署的实现步骤

    目录 宝塔更新Python版本 更改默认的Python版本 项目部署 设置映射 宝塔更新Python版本 因为在宝塔中的Python版本为2.6.8,使用宝塔Python项目管理的话需要把Python升级到3.x,不然的话在部署的时候会提示有些模块下载失败.接下来开始操作: apt安装 sudo apt install python3 python3-dev 安装依赖 安装完Python3之后,默认会安装Python包管理器pip.安装Python3以后会变为pip3命令来下载依赖. pip3

  • SpringBoot实现动态配置及项目打包部署上线功能

    目录 写在前面 一.动态配置文件 1.1.概述 1.2.启动方式 1.2.1.jar包启动 1.2.2.IDEA启动配置 二.项目打包 2.1.IDEA打包 2.2.Maven命令打包 三.项目部署 3.1.安装环境 3.2.项目启动 3.3.最终效果 写在前面 本文讲解的是如何使用Spring动态配置文件,实现不同环境不同配置,灵活切换配置文件:以及讲述了如何使用 Maven 打包,然后上传至Linux服务器进行部署.(PS:如果你是新手,可以跟着系列专栏的框架搭建先动手把项目搭建起来,然后在

  • Vue项目打包部署到iis服务器的配置方法

    一 将Vue项目打包 切换到项目目录下,输入cnpm run build 打包 等待打包完成 二 URL 重写 访问我们的一个url 原因是vue不是根据项目目录的地址访问的,是根据vue-router转发路由访问url,在这里我们应该进行url rewrite url write的方式有两种,一种是在iis下载url rewrite工具配置规则 另一种是配置web.config文件,我用的是第二种 web.config内容 <?xml version="1.0" encodin

  • vue项目打包部署_nginx代理访问方法详解

    我又来了,今天部署了下vue项目,使用nginx做了代理,这样可以解决跨域的问题,这里做一个简单讲解. 1.先看vue项目打包(我这里使用的是vscode开发工具) 这里是我的项目结构: 打包之前需要修改如下配置文件: 配置文件一:build>>utils.js (修改publicPath:"../../" , 这样写是处理打包后找不到静态文件的问题) 配置文件二:config>>index.js(修改assetsPublicPath:'./' ,修改目的是为了

  • vue项目打包部署流程分析

    目录 一.打包 二.部署 三.部署多个项目 一.打包 (可选)去除打包后会生成的map文件:在vue.config.js中添加productionSourceMap: false, map文件作用:项目打包后,代码都是经过压缩加密的,如果运行时报错,输出的错误信息无法准确得知是哪里的代码报错.map文件可以准确输出报错位置. 项目终端运行npm run build,出现的dist文件即为打包后的文件 二.部署 xshell连接服务器(此处服务器为centos7) 利用xfp在服务器/root目录

  • M2实现Nodejs项目自动部署的方法步骤

    PM2实现Nodejs项目自动部署 首先简单说下思路:本地git仓库与远程仓库关联(github.码云等平台),然后pm2按照指定配置登录服务器,拉取远程仓库的代码更新,再执行一些指定的命令(如打包等). 创建本地项目并关联到远程仓库 本地新建名为web的项目,进入项目并创建一个简单的Nodejs文件app.js, mkdir web && cd web vi app.js 文件内容编辑如下,完成后保存退出:wq!. // app.s const http = require('http'

随机推荐