商城首页欢迎来到中国正版软件门户

您的位置:首页 >如何在Ubuntu上实现Golang项目的持续集成打包

如何在Ubuntu上实现Golang项目的持续集成打包

  发布于2026-07-31 阅读(0)

扫一扫,手机访问

在Ubuntu上搞定Golang项目的持续集成和打包,其实并不复杂。市面上有挺多工具和服务可选,这里就以GitHub Actions为例,把整个流程拆开揉碎了讲清楚。

如何在Ubuntu上实现Golang项目的持续集成打包

1. 准备工作

1.1 安装必要的工具

先把Ubuntu系统上的基础工具补齐,下面这几样是必须的:

  • Git
  • Go
  • Docker(可选,如果你打算走容器化路线)

一条命令全搞定:

sudo apt update
sudo apt install git golang docker.io

1.2 配置Go环境

Go环境变量得配好,主要是GOPATHGOROOT。直接贴进终端跑一下:

export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

当然,每次登录都手动敲一遍太麻烦,建议把这些命令追加到~/.bashrc~/.profile里,一劳永逸。

2. 创建GitHub仓库

如果还没创建仓库,赶紧去GitHub上建一个,然后把你的Golang项目代码推上去。这一步是基础,不赘述。

3. 设置GitHub Actions

3.1 创建GitHub Actions工作流文件

在项目根目录下新建.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分支上触发)。

3.2 配置Docker(可选)

如果你打算在CI里构建Docker镜像,得提前准备好Docker Hub账号(或者其他注册表),然后在GitHub仓库的Secrets里添加两个变量:DOCKER_HUB_USERNAMEDOCKER_HUB_ACCESS_TOKEN。这一步别漏了,否则推送镜像时会报错。

4. 提交并推送工作流文件

把刚创建的.github/workflows/ci.yml提交到GitHub仓库,并推送到main分支:

git add .github/workflows/ci.yml
git commit -m "Add CI and Build workflow"
git push origin main

5. 监控CI流程

推送完成后,GitHub Actions会自动触发。到仓库的Actions标签页里,就能看到流水线跑起来了,还能实时查看日志。如果有哪一步失败,日志里会写明原因,很方便排查。

总结

照着上面的步骤走一遍,Ubuntu上的Golang项目持续集成和打包就搭起来了。当然,这只是一个基础模板,你可以根据实际需求往里加料——比如代码质量扫描、性能测试、多平台交叉编译等等。灵活调整就行。

本文转载于:https://www.yisu.com/ask/81546360.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注