2017-01-06 20 views
6

私はSwift 3.0でCocoaPodsで書かれたiOSプロジェクトを持っています。私はこのプロジェクト用にGitlab CIを設定しましたが、それは完全に機能します。Gitlab CIのSwift 3.0プロジェクトのコードカバレッジ

stages: 
- build 
build_project: 
    stage: build 
    script: 
    - rm -rf Pods;rm -rf MyProject.xcworkspace;rm -rf MyProject.xcodeproj/project.xcworkspace 
    - pod install 
    - xcodebuild clean -workspace MyProject.xcworkspace -scheme MyProject | xcpretty 
    - xcodebuild test -workspace MyProject.xcworkspace -scheme MyProject -destination 'platform=iOS Simulator,name=iPhone 7,OS=10.2' | xcpretty -s 
tags: 
- ios 
- lunchdot 

私は私のGitlabレポでこのプロジェクトのコードカバレッジを見ることができない。これは私の.gitlab-ci.ymlファイルです。現時点では、すべてのビルドのカバレッジカラムが空です。私は設定しようとしましたテストカバレッジ解析CI/CDパイプライン Gitlabの設定が、私はSwiftの正規表現を知らないので何の効果もありませんでした。 Gitlab CIでSwiftプロジェクトのコードカバレッジを設定することは可能ですか?これどうやってするの?

+0

私も答えが必要です – OliverM

+0

このスキームで「コードカバレッジ」を有効にしましたか?それでも、カバレッジはありません – OliverM

+0

@OliverMはい、ありましたが、コードカバレッジ分析のためにXcodeツールを使用しています。 – Svyatoslav

答えて

5

だから、私はそれを行うために百万の方法を試みたと問題はxcprettyであることが判明した。私はそれを削除した後、私はgitlab ciカバレッジデータで一貫した結果を得るようになりました。あなたが気にしないたくさんのデータを取得したくない場合は、-quietをgitlab yamsファイルに使用できます。私はそれをすべて投稿するので、読んでください。

一つはまだカバレッジ分析のための外部ツールを必要とする - xcovは私が厚く塗るを使用して、もう使用できないようです。魅力のように働いた。

これらは、手順は次のとおりです。

1)slatherを取得します。

2).slather.ymlファイルをまっすぐにしてください。鉱山は、次のようになります(YourAppは、アプリの名前は明らかにです):

# .slather.yml 

coverage_service: cobertura_xml 
xcodeproj: ./YourApp.xcodeproj 
workspace: ./YourApp.xcworkspace 
scheme: YourApp 
source_directory: ./YourApp 
output_directory: path/to/xml_report 
ignore: 
- "**/Pods/*" 
- "thirdparty/*" 
- "./Scripts/*" 
- "**/3rdParty/*" 
- "../**/Developer/*" 
- "**/libraries/*" 
- "Module-Core/*" 
- "Module-Components/*" 
- "**/AppUnitTests/*" 

あなたは完全にあなた次第などcodecov.ioでHTML、XML、などのテスト出力を得ることができます。可能な方法を確認するには、slather GitHubのページをご覧ください。しかし、現在の問題では、gitlabがそれを拾うことができるようにコマンドラインでの報告が必要です。それはgitlab yamlファイルを適切に設定するところです。

3).gitlab-ci.ymlファイルを設定します。鉱山は、次のようになります。

stages: 
    - build 

build_project_1: 
    stage: build 
    script: 
    - xcodebuild clean -workspace YourApp.xcworkspace -scheme YourApp -quiet 
    - xcodebuild test -workspace YourApp.xcworkspace -scheme YourApp -destination 'platform=iOS Simulator,name=iPhone 6,OS=10.3.1' -enableCodeCoverage YES -quiet 
    after_script: 
    - slather coverage -s 

    only: 
    - master 

4)次のステップはにある:あなたのgitlabページ/プロフィール

  • 行くか、設定

  • 行くそれを呼ぶものは何でも次にパイプライン

Settings/Pipelines

  • スクロールまでテストカバレッジはを解析し、そこに、この正規表現式を追加:\d+\%\s*$

Add your regex expression in the space provided and then save it

をそして、それはそれです。ビルドを呼び出すだけです。

+0

テキスト内の正規表現が正しくない、画像内の正規表現を使用するか、 '' '\ d +(?:\。\ d *)?\%$' '' –

関連する問題