我是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
Piotr Dawidi.. 5
创建MR时运行测试自2015年以来一直是热门话题,甚至更长.确切地说,需要在某些管道中对合并代码(从您的分支开发)进行测试.如果一切都好,那么MR就会开绿灯.
现在它是不可尚未.一位医生说:
在旧工作流中,持续集成(CI)服务器通常仅在主分支上运行测试.开发人员必须确保他们的代码不会破坏主分支.使用GitLab流时,开发人员可以从这个主分支创建分支,因此它必须是绿色的.因此,每个合并请求必须在接受之前进行测试.像Travis和GitLab CI这样的CI软件在合并请求本身中显示构建结果,以简化这一过程.一个缺点是他们正在测试功能分支本身而不是合并结果.可以做些什么来改善这一点是测试合并结果本身.问题是每次将某些内容合并到master中时,合并结果都会更改.每次提交到主站的重新测试都是计算上昂贵的,并且意味着您更频繁地等待测试结果.如果没有合并冲突并且特征分支是短暂的,那么风险是可以接受的.如果存在合并冲突,则将主分支合并到功能分支中,CI服务器将重新运行测试.如果你有长期存在的功能分支,持续时间超过几天,你应该让你的问题变小.
因此,您可以尝试将开发合并到您的功能分支以确保一切正常,但您必须删除only: develop
限制.
创建MR时运行测试自2015年以来一直是热门话题,甚至更长.确切地说,需要在某些管道中对合并代码(从您的分支开发)进行测试.如果一切都好,那么MR就会开绿灯.
现在它是不可尚未.一位医生说:
在旧工作流中,持续集成(CI)服务器通常仅在主分支上运行测试.开发人员必须确保他们的代码不会破坏主分支.使用GitLab流时,开发人员可以从这个主分支创建分支,因此它必须是绿色的.因此,每个合并请求必须在接受之前进行测试.像Travis和GitLab CI这样的CI软件在合并请求本身中显示构建结果,以简化这一过程.一个缺点是他们正在测试功能分支本身而不是合并结果.可以做些什么来改善这一点是测试合并结果本身.问题是每次将某些内容合并到master中时,合并结果都会更改.每次提交到主站的重新测试都是计算上昂贵的,并且意味着您更频繁地等待测试结果.如果没有合并冲突并且特征分支是短暂的,那么风险是可以接受的.如果存在合并冲突,则将主分支合并到功能分支中,CI服务器将重新运行测试.如果你有长期存在的功能分支,持续时间超过几天,你应该让你的问题变小.
因此,您可以尝试将开发合并到您的功能分支以确保一切正常,但您必须删除only: develop
限制.