如何在MR上运行GitLab CI?

时间:2017-01-16 10:56:28

标签: gitlab

我是GitLab CI的新手,尝试设置我需要在创建合并请求时触发的构建。目前,构建在MR被接受并且合并到“开发”分支之后运行。这很好。但我也期望在创建MR时运行构建。

我的gitlab-ci.yml如下 - 我错过了什么?

stages:
  - test

test_project:
  stage: test
  script:
    - xcodebuild -scheme CodeRedTests -sdk iphonesimulator10.2 -workspace CodeRed.xcworkspace -configuration Debug clean build test -destination "platform=iOS Simulator,OS=10.2,name=iPhone 5s" | xcpretty -s
  only:
    - develop
  tags:
    - ios_10
    - xcode_8
    - osx_10-12

1 个答案:

答案 0 :(得分:5)

自2015年以来,创建MR时运行测试的时间为hot topic,甚至更长。 准确地说,需要在某些管道中对合并代码(从您的分支开发)运行测试。如果一切都好,那么MR就会开绿灯。

目前它还没有尚未doc说:

  

在旧工作流程中,持续集成(CI)服务器通常运行   仅在主分支上进行测试。开发人员必须确保他们的代码   没有打破主分支。使用GitLab流程开发人员时   从这个主分支创建它们的分支,所以它是必不可少的   绿色。因此,必须先测试每个合并请求   公认。像Travis和GitLab CI这样的CI软件显示了构建结果   在合并请求本身,以使这很容易。一个缺点是   他们正在测试功能分支本身而不是合并   结果。可以做些什么来改善这一点是测试合并的结果   本身。问题是合并结果每次都会改变   有些东西被合并为主人。每次提交都要重新测试   计算成本高,意味着你更频繁地等待   测试结果。 如果没有合并冲突和功能   分支是短暂的,风险是可以接受的。如果有合并   您将主分支合并到功能分支和   CI服务器将重新运行测试。如果您有长期使用的功能   分支持续超过几天你应该做你的   问题较小。

因此,您可以尝试将开发合并到您的功能分支以确保一切正常,但您必须删除only: develop限制。

相关问题