在Ubuntu上实现Golang项目的持续集成(CI)和打包,可以使用多种工具和服务。以下是一个基本的步骤指南,使用GitHub Actions作为CI/CD平台:
确保你的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 如果你选择在CI流程中构建Docker镜像,请确保你已经配置了Docker Hub或其他Docker注册表,并在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会自动触发CI流程。你可以在GitHub仓库的Actions标签页中查看CI流程的运行情况和日志。
通过上述步骤,你可以在Ubuntu上实现Golang项目的持续集成和打包。你可以根据项目需求进一步自定义和扩展CI流程,例如添加代码质量检查、性能测试等步骤。