【问题标题】:How to run Integration just when merging to master如何在合并到 master 时运行集成
【发布时间】:2018-11-17 19:16:16
【问题描述】:

我有 Travis CI,它在 Go 应用程序中按预期工作

language: go
go:

- "1.10.x"

script:

- go get -v -t -d ./...
- go test -v ./...

此 CI 大约需要 60-80 sec 才能运行。

CI在两种情况下触发

  1. 提交到新分支
  2. 合并到主服务器

现在我有一个名为 integration_test.go 的新文件,它正在运行集成测试,大约需要 10 分钟(部署等) 我想只在合并到master时运行这个测试(因为它更重),而不是在提交到分支时运行,它怎么能做到Travis?

我试过了

on:
    branch: master
    condition: `go test -v integration_test.go`

【问题讨论】:

  • 您是否尝试过阅读有关条件功能的 Travis 文档?
  • @jonrsharpe - 是的,我尝试过但没有成功,请查看我的编辑,你知道我在这里缺少什么吗?
  • 条件阶段不是这样工作的;见docs.travis-ci.com/user/conditional-builds-stages-jobs
  • @jonrsharpe - 好的,谢谢,但我应该如何告诉它只运行这个测试if: branch = master go test -v integration_test.go``?
  • @jonrsharpe - 你能为我的问题提供参考吗?

标签: git go github travis-ci travis-ci-cli


【解决方案1】:

您可能在这里寻找的是“有条件的工作”。使用此处的示例: 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

【讨论】:

    猜你喜欢
    • 2023-01-26
    • 2020-06-22
    • 1970-01-01
    • 1970-01-01
    • 2017-10-25
    • 2018-04-14
    • 2021-03-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多