PHP 개발자로서 GitLab 재방문
여기 내가 이미 알고 있는 것과 이 트윗을 우연히 보고 GitLab의 문서를 다시 읽었을 때 새로 발견한 것이 있습니다.
세바스티안 버그만
@s_bergmann
에서 생성된 Cobertura XML을 사용한 경험이 있습니까? 그런 다음 여기에 댓글을 달아주세요: github.com/sebastianbergm… (또는 수정 gitlab.com/gitlab-org/git… ). 감사!
오전 10:51 - 2021년 11월 19일
TLDR
이demo merge request에서 아래의 모든 작업을 볼 수 있습니다.
단위 테스트 보고서
내가 찾은 첫 번째 것은 GitLab이 JUnit XML 파일 형식을 지원하고 PHPUnit이 JUnit XML 파일 보고서를 작성할 수 있다는 것입니다. JUnit XML을 생성하도록 PHPUnit을 구성하고 이를
.gitlab-ci.yml
에서 아티팩트로 선언하면 파이프라인 자체 및 병합 요청에서 멋진 단위 테스트 개요를 얻을 수 있습니다.phpunit.xml
파일에 JUnit 로깅을 추가합니다.<phpunit>
<!-- ... -->
<logging>
<junit outputFile="junit.xml" />
</logging>
<!-- ... -->
</phpunuit>
.gitlab-ci.yml
를 통해 이 보고서에 대해 GitLab-CI에 알립니다.Unit Tests:
stage: test
script:
- ./vendor/bin/phpunit
artifacts:
reports:
junit: junit.xml
테스트 실행에 대한 멋진 개요, 파이프라인 및 병합 요청 개요 페이지에서 모든 테스트를 실행하는 데 걸린 시간을 얻을 수 있습니다.
공식 GitLab 문서의 unit test reports 섹션에서 이 기능에 대한 추가 힌트를 찾을 수 있습니다.
테스트 코드 커버리지
GitLab은 다양한 위치에서 테스트한 코드 적용 범위를 백분율로 표시할 수 있습니다.
phpunit.xml
에 간단한 커버리지 보고서를 추가합니다.<phpunit>
<!-- ... -->
<coverage>
<report>
<text outputFile="php://stdout"
showUncoveredFiles="false"
showOnlySummary="true" />
</report>
</coverage>
</phpunuit>
.gitlab-ci.yml
를 통해 이 보고서에 대해 GitLab-CI에 알립니다(coverage
키 추가).Unit Tests:
stage: test
script:
- XDEBUG_MODE=coverage ./vendor/bin/phpunit
coverage: '/^\s*Lines:\s*\d+.\d+\%./'
이것은 Xdebug를 사용 중이고 GitLab CI에서 테스트를 실행하는 데 사용하는 이미지에 Xdebug가 이미 설치되어 있다고 가정합니다. documentation about this feature here을 찾습니다.
테스트 코드 커버리지 시각화
이것은 나에게 절대적인 폭발이었습니다. 라인 커버리지 번호를 얻기 위해 코드 커버리지를 수집하는 동안 GitLab의 모든 곳에서 볼 수 있으며, GitLab이 읽을 수 있는 PHPUnit을 사용하여 Cobertura XML 파일 형식으로 라인 커버리지 보고서를 생성하여 병합 요청에서 직접 커버된 라인과 커버되지 않은 라인을 표시할 수도 있습니다. 차이보기.
cobertura 커버리지 보고서를
phpunit.xml
에 추가합니다.<phpunit>
<!-- ... -->
<coverage>
<!-- ... -->
<report>
<!-- ... -->
<cobertura outputFile="cobertura.xml" />
</report>
</coverage>
<!-- ... -->
</phpunuit>
.gitlab-ci.yml
를 통해 이 보고서에 대해 GitLab-CI에 알립니다(coverage_report
아티팩트 키 추가).Unit Tests:
stage: test
script:
- XDEBUG_MODE=coverage ./vendor/bin/phpunit
artifacts:
reports:
coverage_report:
coverage_format: cobertura
path: cobertura.xml
일부 스크린샷과 함께 test coverage visualization 설명서에서 이 멋진 기능에 대해 자세히 읽어보십시오.
코드 스타일 위반
PHP CS Fixer는 GitLab에서 코드의 새로운 위반 사항을 표시하거나 코드 스타일 위반이 해결된 경우에도 표시하는 데 사용할 수 있는 GitLab 형식의 보고서를 생성할 수 있습니다.
--format=gitlab
인수를 사용하여 PHP CS Fixer를 실행하고 .gitlab-ci.yml
를 통해 보고서를 찾을 위치를 GitLab CI에 알려줍니다.Coding guidelines:
stage: static analysis
script:
- ./vendor/bin/php-cs-fixer fix -v --dry-run --format=gitlab --using-cache=no src/ > gl-cs-fixer.json || exit 0
artifacts:
reports:
codequality: gl-cs-fixer.json
이 작은 개요가 PHP 프로젝트로 작업할 때 GitLab 및 GitLab CI를 최대한 활용하는 데 도움이 되기를 바랍니다.
Reference
이 문제에 관하여(PHP 개발자로서 GitLab 재방문), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/realflowcontrol/revisiting-gitlab-as-a-php-developer-5h9l텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)