CircleCI2.0+php-coveralls로 커버리지 배지를 보기

CircleCI2.0+php-coveralls에서 커버리지 배지를 생성하려고 했는데 Coveralls의 설명이 오래되었거나 php-coveralls의 설명이 미묘하거나 도중에 빠졌기 때문에 배지가 표시될 때까지 수행한 단계 을 비망록으로 남깁니다.

1. coveralls에 등록



커버리지 배지를 표시하려면 coveralls을 사용합니다.
로그인하고 ADD REPO 메뉴에서 대상 리포지토리를 활성화합니다. 활성화 한 후 DETAILS 버튼에서 Coveralls 설정 화면으로 전환합니다.

PHP 리포지토리의 경우 PHP의 경우 coveralls를 설정하는 방법을 설명하는 페이지가 표시되지만 TravisCI에서 설정하는 방법 만 있습니다.
CircleCI의 경우 문서를 읽어야 합니다.



Coveralls PHP 설정 방법 페이지을 보면 php-coveralls의 README를 읽고 있기 때문에 php-coveralls의 README을 읽으십시오.

Coveralls의 설명은 충분하지 않습니다 ...

2. php-coveralls 설치



README와 같이 먼저 composer에서 php-coveralls를 설치합니다.
$ composer require php-coveralls/php-coveralls

3. phpunit.xml 또는 phpunit.xml.dist에 적용 범위에 대한 로그를 얻기위한 설명 추가



phpunit.xml
    <logging>
        <log type="coverage-clover" target="build/logs/clover.xml"/>
    </logging>

4. CircleCI 구성 파일을 수정합니다.



README에 의하면, CiecleCI의 설정 파일에 커버리지의 로그를 추가하기 위한 기재를 추가하지 않으면 안되지만, 구성 파일의 예가 CircleCI의 1계의 기재가 되어 있으므로, CircleCI2.0 이후의 당신은 다음과 같이해야합니다.

circleci/config.yml
# PHP CircleCI 2.0 configuration file
#
# Check https://circleci.com/docs/2.0/language-php/ for more details
#
version: 2
jobs:
  build:
    docker:
      # specify the version you desire here
      - image: circleci/php:latest

      # Specify service dependencies here if necessary
      # CircleCI maintains a library of pre-built images
      # documented at https://circleci.com/docs/2.0/circleci-images/
      # - image: circleci/mysql:9.4

    working_directory: ~/repo

    steps:
      - checkout

      # Download and cache dependencies
      - restore_cache:
          keys:
          - v1-dependencies-{{ checksum "composer.json" }}
          # fallback to using the latest cache if no exact match is found
          - v1-dependencies-

      - run: mkdir -p build/logs             # ★追加

      - run: composer install -n --prefer-dist

      - save_cache:
          paths:
            - ./vendor
          key: v1-dependencies-{{ checksum "composer.json" }}

      - run: vendor/bin/phpunit
      - run: php vendor/bin/php-coveralls    # ★追加
- run: mkdir -p build/logs- run: php vendor/bin/php-coveralls.circleci/config.yml에 추가합니다.
README에는 후자가 실려 있지 않습니다만 필요하므로 확실히 기재합니다.

5. CircleCI 환경 변수에 coveralls 토큰 추가



CircleCI에 로그인하고 CI하려는 프로젝트의 Settings의 Environment Variables 메뉴에서 Add Variable 버튼에서 환경 변수 COVERALLS_REPO_TOKEN를 추가합니다.
값은 coveralls 페이지에 표시된 repo_token 값을 설정합니다.



6. .coveralls.yml을 아래와 같이 기재



coveralls.yml
coverage_clover: build/logs/clover.xml
json_path: build/logs/coveralls-upload.json

나열된 .coveralls.yml를 저장소 바로 아래에 배치합니다.

7. 파일을 푸시하여 CircleCI에서 빌드를 실행합니다.



빌드가 통과되면 Coveralls 리포지토리의 페이지가 업데이트됩니다.
페이지에 커버리지 배지가 표시되면 배지 생성이 제대로 작동하고 있습니다.



이와 같이 배지가 표시되면 OK입니다.
그럼 배지를 당신의 README에 붙여 편안한 OSS 생활을!

좋은 웹페이지 즐겨찾기