PHP 프로젝트에서 다양한 CI 서비스를 사용해 보았다는 이야기
이 기사 개요
GitHub에서 커밋 및 푸시 할 때 자동으로 테스트를 수행하거나,
PullRequest 시에는 「이 코드, 코딩 규약 위반하고 있어!」라고 코멘트해 주는 서비스의 소개가 된다.
PHP 프로젝트에 대해 다음 리포지토리 대상
URL : htps : // 기주 b. 코 m / 이가라 / 쇼네 t
SideCI
URL : htps //w w. 시데시. 코m/
PullRequest를 발행했을 때 커밋한 파일의 정적 해석을 실시해,
코딩 규약 위반하고 있는 대상의 행에 코멘트를 추가해 준다.
![](https://s1.md5.ltd/image/0b5184bba88ab007acfed968a41353b7.png)
위는 namespace의 지정이 없고, 규약에 반하고 있다는 코멘트의 예이다.
PSR의 규약에 준해 코멘트가 되어 있으므로
php-cs-fixer을 포맷터로 사용하면 대부분 수정됩니다.
(namespace 위반은 수정되지 않지만)
코드 수정을 하고, 규약대로 되면 아래와 같이 코멘트가 숨겨지게 된다.
![](https://s1.md5.ltd/image/98de54f0cda996292e1bce9adb1b07f1.png)
이 때의 PullRequest의 예로서 다음과 같다.
htps : // 기주 b. 코 m/이가라/쇼네 t/푸 l/48
PHP 이외에 TypeScript도 정적 해석을 실시할 수 있다.
TravisCI
URL : h tps://t 등ゔぃs-해. rg/
리포지토리로 푸시된 후
다양한 언어 버전으로 빌드를 자동으로 수행하는 서비스
주로 PHPUnit의 실행과 커버리지의 취득용으로 사용하고 있다.
커버리지를 얻기 위해
php-coveralls 을 사용하고 있다.
composer로 도입할 때는 하기를 실행한다.
composer require satooshi/php-coveralls --dev
.travis.yml에 하고 싶은 태스크를 기재해, 리포지터리의 루트에 두는 것으로 자동적으로 빌드가 행해진다.
travis.yml
language: php
php:
# 下記はビルド対象のPHPバージョン
- 5.6
- 7.0
- hhvm
- nightly
before_script:
# laravelの環境設定ファイルの作成
- cp -p .env.example .env
# composerは30日毎にupdateすること責められる...
- composer self-update
- composer install
- php artisan key:generate
script:
# PHPUnitを実行し、ガバレッジを取得する
- mkdir -p build/logs
- chmod -R 777 build/logs
- vendor/bin/phpunit --coverage-clover build/logs/clover.xml
after_success:
# coverallsにカバレッジの反映をさせる
- travis_retry php vendor/bin/coveralls -v
TravisCI는 composer나 xdebug를 사용할 수 있는 모양.
아래는 각 PHP의 버전에 의한 빌드의 결과가 된다.
![](https://s1.md5.ltd/image/959587843386a0cfa0352697f17c5b11.png)
README.md에 빌드 상태를 알 수 있도록 배치를 넣을 수 있습니다.
↓이녀석
Coveralls
커버리지의 결과를 퍼센트 표시로 하거나 커버리지를 바탕으로 PHPUnit의 assert 상태를 확인할 수 있다.
.coveralls.yml을 설치할 필요가 있으므로 아래를 설명했습니다.
coveralls.yml
coverage_clover: build/logs/clover.xml
json_path: build/logs/coveralls-upload.json
service_name: travis-ci
exclude_no_stmt: true TravisCI와 마찬가지로 배치를 설치할 수 있다.
↓이 녀석 참고 기사 약관을 따르지 않는 PHP 코드를 구축
Reference
이 문제에 관하여(PHP 프로젝트에서 다양한 CI 서비스를 사용해 보았다는 이야기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/igara/items/b0df734e8e7b1d75f4c0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
URL : htps //w w. 시데시. 코m/
PullRequest를 발행했을 때 커밋한 파일의 정적 해석을 실시해,
코딩 규약 위반하고 있는 대상의 행에 코멘트를 추가해 준다.
![](https://s1.md5.ltd/image/0b5184bba88ab007acfed968a41353b7.png)
위는 namespace의 지정이 없고, 규약에 반하고 있다는 코멘트의 예이다.
PSR의 규약에 준해 코멘트가 되어 있으므로
php-cs-fixer을 포맷터로 사용하면 대부분 수정됩니다.
(namespace 위반은 수정되지 않지만)
코드 수정을 하고, 규약대로 되면 아래와 같이 코멘트가 숨겨지게 된다.
![](https://s1.md5.ltd/image/98de54f0cda996292e1bce9adb1b07f1.png)
이 때의 PullRequest의 예로서 다음과 같다.
htps : // 기주 b. 코 m/이가라/쇼네 t/푸 l/48
PHP 이외에 TypeScript도 정적 해석을 실시할 수 있다.
TravisCI
URL : h tps://t 등ゔぃs-해. rg/
리포지토리로 푸시된 후
다양한 언어 버전으로 빌드를 자동으로 수행하는 서비스
주로 PHPUnit의 실행과 커버리지의 취득용으로 사용하고 있다.
커버리지를 얻기 위해
php-coveralls 을 사용하고 있다.
composer로 도입할 때는 하기를 실행한다.
composer require satooshi/php-coveralls --dev
.travis.yml에 하고 싶은 태스크를 기재해, 리포지터리의 루트에 두는 것으로 자동적으로 빌드가 행해진다.
travis.yml
language: php
php:
# 下記はビルド対象のPHPバージョン
- 5.6
- 7.0
- hhvm
- nightly
before_script:
# laravelの環境設定ファイルの作成
- cp -p .env.example .env
# composerは30日毎にupdateすること責められる...
- composer self-update
- composer install
- php artisan key:generate
script:
# PHPUnitを実行し、ガバレッジを取得する
- mkdir -p build/logs
- chmod -R 777 build/logs
- vendor/bin/phpunit --coverage-clover build/logs/clover.xml
after_success:
# coverallsにカバレッジの反映をさせる
- travis_retry php vendor/bin/coveralls -v
TravisCI는 composer나 xdebug를 사용할 수 있는 모양.
아래는 각 PHP의 버전에 의한 빌드의 결과가 된다.
![](https://s1.md5.ltd/image/959587843386a0cfa0352697f17c5b11.png)
README.md에 빌드 상태를 알 수 있도록 배치를 넣을 수 있습니다.
↓이녀석
Coveralls
커버리지의 결과를 퍼센트 표시로 하거나 커버리지를 바탕으로 PHPUnit의 assert 상태를 확인할 수 있다.
.coveralls.yml을 설치할 필요가 있으므로 아래를 설명했습니다.
coveralls.yml
coverage_clover: build/logs/clover.xml
json_path: build/logs/coveralls-upload.json
service_name: travis-ci
exclude_no_stmt: true TravisCI와 마찬가지로 배치를 설치할 수 있다.
↓이 녀석 참고 기사 약관을 따르지 않는 PHP 코드를 구축
Reference
이 문제에 관하여(PHP 프로젝트에서 다양한 CI 서비스를 사용해 보았다는 이야기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/igara/items/b0df734e8e7b1d75f4c0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
composer require satooshi/php-coveralls --dev
language: php
php:
# 下記はビルド対象のPHPバージョン
- 5.6
- 7.0
- hhvm
- nightly
before_script:
# laravelの環境設定ファイルの作成
- cp -p .env.example .env
# composerは30日毎にupdateすること責められる...
- composer self-update
- composer install
- php artisan key:generate
script:
# PHPUnitを実行し、ガバレッジを取得する
- mkdir -p build/logs
- chmod -R 777 build/logs
- vendor/bin/phpunit --coverage-clover build/logs/clover.xml
after_success:
# coverallsにカバレッジの反映をさせる
- travis_retry php vendor/bin/coveralls -v
Reference
이 문제에 관하여(PHP 프로젝트에서 다양한 CI 서비스를 사용해 보았다는 이야기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/igara/items/b0df734e8e7b1d75f4c0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)