您的位置:首页 >如何在Ubuntu上实现Golang项目的持续集成打包
发布于2026-07-31 阅读(0)
扫一扫,手机访问
在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版本、跑测试、编译二进制文件,最后还顺便打了个Docker镜像(只在main分支上触发)。
如果你打算在CI里构建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项目持续集成和打包就搭起来了。当然,这只是一个基础模板,你可以根据实际需求往里加料——比如代码质量扫描、性能测试、多平台交叉编译等等。灵活调整就行。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8