在CentOS上使用Golang进行项目打包可以遵循以下步骤和技巧:
安装Golang:
/usr/local
:wget https://golang.org/dl/go1.17.6.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.17.6.linux-amd64.tar.gz
GOROOT
和 GOPATH
环境变量:export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
go version
编写和测试Go程序:
go test
来测试程序是否可以正常工作。编译项目:
GOOS=linux GOARCH=amd64 go build -o "packageName"
其中,packageName
是你希望生成的可执行文件的名称。打包项目:
tar.gz
:tar -czvf my-golang-project.tar.gz ./my-golang-project
创建RPM包(可选):
rpmbuild
工具:sudo yum install -y rpm-build
.rpmmacros
文件在你的用户主目录中:%_topdir %(echo $HOME)/rpmbuild
%_sourcedir %_topdir/src
%_builddir %_topdir/build
%_specdir %_topdir/SPECS
%_rpmdir %_topdir/RPMS
%_srcrpmdir %_topdir/SRPMS
rpmbuild -ba
这将在 /rpmbuild/RPMS
和 /rpmbuild/SRPMS
目录中生成RPM包。使用Docker进行容器化部署(可选):
sudo yum update -y
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable docker
Dockerfile
:# 使用官方的Golang镜像作为基础镜像
FROM golang:1.17
# 设置工作目录
WORKDIR /app
# 复制go.mod和go.sum文件
COPY go.mod ./
COPY go.sum ./
# 下载所有依赖
RUN go mod download
# 复制项目文件到工作目录
COPY . .
# 构建二进制文件
RUN go build -o main .
# 暴露端口(如果需要)
EXPOSE 8080
# 运行应用程序
CMD ["./main"]
docker build -t my-go-app .
docker run -p 8080:8080 my-go-app
http://<your-host-ip>:8080
验证部署。通过以上步骤和技巧,你可以在CentOS上成功打包并部署你的Golang项目。根据具体项目的需求,可能还需要进行额外的配置和优化。