在Ubuntu上通过GitHubActions实现Golang项目的持续集成打包,需安装Git、Go、Docker并配置环境变量,创建仓库后编写工作流文件,实现代码拉取、测试、编译及可选Docker镜像构建与推送,提交后自动触发CI并监控运行日志。
在Ubuntu系统上完成Golang项目的持续集成和打包,流程并不复杂。市面上有多种工具和服务可供选择,本文以GitHub Actions为例,详细拆解整体操作步骤。

长期稳定更新的攒劲资源: >>>点此立即查看<<<
首先补齐Ubuntu系统的基础工具,以下组件必须安装:
一条命令即可完成安装:
sudo apt update
sudo apt install git golang docker.io
需要正确配置Go环境变量,主要包括GOPATH和GOROOT。直接在终端执行以下命令:
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
为避免每次登录重复输入,建议将这些命令追加到~/.bashrc或~/.profile文件中,实现永久生效。
若尚未创建仓库,请登录GitHub新建一个仓库,并将Golang项目代码推送至该仓库。此为基础操作,不再赘述。
在项目根目录下创建.github/workflows文件夹,并放入一个YAML文件,例如ci.yml。文件内容如下:
name: CI and Build
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Go
uses: actions/setup-go@v2
with:
go-version: 1.17
- name: Run tests
run: go test ./...
- name: Build binary
run: go build -o myapp
- name: Create Docker image (optional)
if: github.ref == 'refs/heads/main'
run: |
docker build -t myapp .
docker login -u ${{ secrets.DOCKER_HUB_USERNAME }} -p ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
docker push myapp
该工作流执行以下操作:拉取代码、指定Go版本、运行测试、编译二进制文件,并在main分支触发时构建Docker镜像。
若计划在持续集成中构建Docker镜像,需提前准备Docker Hub账号(或其他注册表),然后在GitHub仓库的Secrets中添加两个变量:DOCKER_HUB_USERNAME和DOCKER_HUB_ACCESS_TOKEN。此步骤不可遗漏,否则推送镜像时将报错。
将创建的.github/workflows/ci.yml文件提交至GitHub仓库,并推送到main分支:
git add .github/workflows/ci.yml
git commit -m "Add CI and Build workflow"
git push origin main
推送完成后,GitHub Actions会自动触发。在仓库的Actions标签页中,可以查看流水线运行状态和实时日志。若某一步失败,日志中会明确说明原因,便于排查。
按照上述步骤操作,即可在Ubuntu上搭建Golang项目的持续集成和打包流程。该模板为基础版本,您可根据实际需求扩展功能,例如添加代码质量扫描、性能测试、多平台交叉编译等。灵活调整即可满足不同场景。
侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述