我有 Travis CI,它按预期的方式为 Go 应用程序工作
language: go
go:
- "1.10.x"
script:
- go get -v -t -d ./...
- go test -v ./...
此 CI 运行大约需要 60-80 秒
。
CI在两种情况下被触发
- Submitting to new branch
- Merging to the master
现在我有一个名为 integration_test.go
的新文件,它正在运行大约需要 10 分钟的集成测试(部署等)
并且我想仅在 merge 到 master 时运行此测试(因为它更重),而不是在提交给分支机构时运行,Travis 如何完成?
我试过
on:
branch: master
condition: `go test -v integration_test.go`
最佳答案
您在这里寻找的可能是“有条件的工作”。使用此处的示例: https://docs.travis-ci.com/user/build-stages/matrix-expansion/
尝试:
language: go
go:
- "1.10.x"
script:
- go get -v -t -d ./...
- go test -v ./...
jobs:
include:
- stage: integration
if: branch = master
script: go test -v integration_test.go
关于git - 如何在 merge 到 master 时运行 Integration,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53354651/