Docker分享-在Github配置CI
CI配置流程
在此之前,假設(shè)我們通過Github Actions訪問到你的docker hub了。
首先我們需要構(gòu)建一個CI通道
- 進(jìn)入你的倉庫點(diǎn)擊Actions->New workflow
- 點(diǎn)擊set up a workflow yourself
首先命名workflow:
name: Run CI
然后選擇運(yùn)行的時間,舉個例子,我們希望每次有東西上main branch的時候跑CI
on:
push:
branches: [ main ]
workflow_dispatch:
workflow_dispatch是可選的。
之后是指定運(yùn)行流程,一套流程是由一個或者多個job組成的,并且這些job可以以順序的方式執(zhí)行,也可以并行執(zhí)行。
我們第一個job
jobs:
build-and-test:
runs-on: ubuntu-latest
job內(nèi)包含一些列的steps,簡單的CI工作流程:
- 設(shè)置Go編譯器環(huán)境
- 從Github中取到代碼
- 拉取Go modules,以及相關(guān)依賴
- 編譯二進(jìn)制文件(可選)
- 構(gòu)建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文件將會出現(xiàn)在項(xiàng)目的倉庫里,./github/workflows/ci.yml
然后start commit就好了。