崔維斯碼工

Docker .travis.yml

一般我們 docker image 會打上不同版本的 tag 標籤

docker build -t {tag} .

針對這些不同版本進行測試編譯。

我們的測試程式直接拿 https://github.com/docker-library/official-images/tree/master/test

這是其中一個實際運作的例子 .travis.yml:

language: bash
services: docker
env:
- VERSION=2.0.0 # 這邊測試 N 個版本
- VERSION=2.0.1
- VERSION=2.0.2
- VERSION=2.0.3
- VERSION=2.0.4
- VERSION=2.0.5
- VERSION=2.0.6
- VERSION=2.0.7
- VERSION=2.0.8
- VERSION=2.1.0
- VERSION=2.1.1
- VERSION=2.1.2
install:
- git clone https://github.com/docker-library/official-images.git ~/official-images
before_script:
- env | sort
- C=":"
- sed -i 's/"parse-server"'$C' "[^"]\+"/"parse-server"'$C' "'"$VERSION"'"/' package.json # 這邊修改相依版本號碼
- image="yongjhih/parse-server:$VERSION"
script:
- docker build -t "$image" . # 編譯看看
- ~/official-images/test/run.sh "$image" # 測試編譯檔
after_script:
- docker images
# vim:set et ts=2 sw=2:

這樣就寫玩了,一般依據專案,要更動的地方就是 env 與 before_script 區塊。

ref. https://github.com/yongjhih/docker-parse-server/blob/master/.travis.yml