要在 CentOS 系統上打包 Golang 應用,請按照以下步驟操作:
在終端中運行以下命令以檢查是否已安裝 Golang。如果尚未安裝,請按照官方文檔進行安裝。
go version
在終端中,導航到您要創建項目的目錄,然后使用以下命令創建一個新的 Go 項目:
mkdir my-go-app
cd my-go-app
在項目目錄中,運行以下命令以初始化一個新的 Go 模塊:
go mod init github.com/yourusername/my-go-app
將 yourusername
替換為您的 GitHub 用戶名或組織名。
在項目目錄中創建一個名為 main.go
的文件,并添加一些簡單的 Golang 代碼,例如:
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
在項目目錄中,運行以下命令以構建您的 Golang 應用:
go build -o my-go-app
這將生成一個名為 my-go-app
的可執行文件。
首先,安裝 rpm-build
軟件包:
sudo yum install rpm-build
接下來,創建一個名為 rpmbuild
的目錄結構:
mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
然后,編輯 ~/.rpmmacros
文件,添加以下內容:
%_topdir %(echo $HOME)/rpmbuild
%_sourcedir %_topdir/SOURCES
%_builddir %_topdir/BUILD
%_specdir %_topdir/SPECS
%_rpmdir %_topdir/RPMS
%_srcrpmdir %_topdir/SRPMS
現在,您可以創建一個名為 my-go-app.spec
的 RPM 構建規范文件,其中包含有關您的應用程序的信息。在項目目錄中創建此文件,并添加以下內容:
Summary: A simple Golang application
Name: my-go-app
Version: 1.0.0
Release: 1%{?dist}
License: MIT
Group: Applications/System
Source0: %{name}-%{version}.tar.gz
BuildArch: noarch
Requires: golang
%description
A simple Golang application that prints "Hello, World!" to the console.
%prep
%setup -q
%build
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/usr/bin
cp my-go-app $RPM_BUILD_ROOT/usr/bin
%files
%defattr(-,root,root,-)
/usr/bin/my-go-app
%post
%preun
%changelog
保存并關閉文件?,F在,您可以使用以下命令構建 RPM 包:
rpmbuild -ba my-go-app.spec
這將在 ~/rpmbuild/RPMS
和 ~/rpmbuild/SRPMS
目錄中生成 RPM 包。
您可以使用以下命令安裝 RPM 包:
sudo rpm -ivh ~/rpmbuild/RPMS/noarch/my-go-app-1.0.0-1.el7.noarch.rpm
然后,使用以下命令運行您的 Golang 應用:
my-go-app
這將輸出 “Hello, World!” 到終端。