Golang

关注公众号 jb51net

关闭
首页 > 脚本专栏 > Golang > golang程序打包成脚本部署到Linux

golang程序打包成脚本部署到Linux系统方式

作者:运维打怪晋级之路

Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完成自动化部署

本地编译Golang程序

本地代码:

//变量的作用域
package main

import "fmt"
//单行注释
//包级变量
var packageVar string = "pachage var"
func  main(){
	//函数级别的变量
	var funVar string = "func var"
	fmt.Println(packageVar,funVar)
	/*
	这是多行注释
	以下是使用代码块功能
	 */
	{
		//快级别的变量
		var blockVar string = "block var"
		fmt.Println(packageVar,";",funVar,";",blockVar)
	}

	fmt.Println("hello world !")
	var packageVar string = "pachage2 var"
	fmt.Println(packageVar)
	//1、变量会在自己块里面找,如果没有就在父块里面找,还没有就去包块找,如果没有就报错 2、子块可以覆盖父块的变量
	var zeroString string
	fmt.Println(zeroString,"djvnjdfnv")
}

使用goland在Terminal中编译

E:\Gosrc\mage>set GOARCH=amd64
E:\Gosrc\mage>set GOOS=linux
E:\Gosrc\mage>go build 02-helloworld.go

注意

高版本的

go env -w GOOS=linux
go env -w GOOS=windows

此时会生成一个没有后缀的二进制文件

上传Golang二进制文件到Linux服务器

上传Golang二进制文件到Linux服务器,并赋权限

[root@localhost ~]# chmod 755 02-helloworld 

执行此golang开发的脚本

[root@localhost ~]# ./02-helloworld 
pachage var func var
pachage var ; func var ; block var
hello world !
pachage2 var
 djvnjdfnv

如果想让项目在后台执行:执行 nohup ./02-helloworld & ,这样就可以程序在后台运行了

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文