.gitlab-ci.yml文件编写模版与说明
·
参考文档
https://segmentfault.com/a/1190000010442764#articleHeader1
内置系统变量:https://docs.gitlab.com/ee/ci/variables/predefined_variables.html
模版
image: golang:latest
# 只有在发起MR的时候才会执行,我们可以用 << *mr 来指定某一阶段只在MR时执行
.mr_template: &mr
only:
- merge_requests
# 只有MR被合并进master分支时才会执行,我们可以用 << *origin 来指定
.origin_template: &origin
refs:
- master
# 代码风格检查
.vet: &go-vet |
find . -name "*.go"
git diff --exit-code
before_script:
# 通过 * 引用我们前面定义好的脚本
- *vet
# prepare和test在提交MR时会执行,而pack和deploy在MR被合并时才会执行
stages:
- prepare
- test
- pack
- deploy
gomod:
# << 将某块的脚本插入到这里,<<: *mr 其实就是将mr_template的内容放到这里
<<: *mr
stage: prepare
script:
- go mod download
test:
<<: *mr
stage: test
script:
- go test ./...
pack:
<<: *origin
stage: pack
script:
- go build main.go
pack:
<<: *origin
stage: deploy
script:
- echo "发布...."
更多推荐
所有评论(0)