Docker分享-在Github配置CI
CI配置流程
在此之前,假设我们通过Github Actions访问到你的docker hub了。
首先我们需要构建一个CI通道
- 进入你的仓库点击Actions->New workflow
- 点击set up a workflow yourself
首先命名workflow:
name: Run CI
然后选择运行的时间,举个例子,我们希望每次有东西上main branch的时候跑CI
on: push: branches: [ main ] workflow_dispatch:
workflow_dispatch是可选的。
之后是指定运行流程,一套流程是由一个或者多个job组成的,并且这些job可以以顺序的方式执行,也可以并行执行。
我们第一个job
jobs: build-and-test: runs-on: ubuntu-latest
job内包含一些列的steps,简单的CI工作流程:
- 设置Go编译器环境
- 从Github中取到代码
- 拉取Go modules,以及相关依赖
- 编译二进制文件(可选)
- 构建docker镜像
- 跑测试
steps:
steps: - name: Install Go uses: actions/setup-go@v2 with: go-version: 1.16.4 - name: Checkout code uses: actions/checkout@v2 - name: Fetch required Go modules run: go mod download - name: Build run: go build -v ./... - name: Build Docker image uses: docker/build-push-action@v2 with: push: false tags: ${{ github.event.repository.name }}:latest, ${{ github.repository }}:latest - name: Run functional tests run: go test -v ./...
完整的workflow文件将会出现在项目的仓库里,./github/workflows/ci.yml
然后start commit就好了。