
이 연속 통합 템플릿을 사용하여 C ++ 코드를 제어하십시오.
CIT- 는 C ++ 코드베이스 개발을위한 프로젝트 템플릿입니다. 단일 템플릿을 사용하여 템플릿을 사용하여 Linters, 정적 및 동적 분석 도구를 집계합니다.
자동 도구의 기능과 개발에 미치는 영향을 탐색합니다.
Project Unified Linters 및 Analysis Tools에 대한 액세스를 사용자에게 제공합니다.
코드베이스의 다양한 속성을 테스트하는 기술을 보여줍니다
Docker 와 Nix를 통해 재현 가능한 빌드 및 환경을 제공하십시오
품질 소프트웨어 개발에 대한 책임있는 태도를 장려하십시오
이 저장소는 Docker 와 Nix 덕분에 버전을 고정시키는 재현 가능한 개발 및 테스트 환경을 제공합니다.
모든 컴파일 타임 체크가 활성화 된 주요 C ++ 컴파일러 지원
Cmake 및 Conan을 사용하여 친숙한 크로스 플랫폼 빌드 설정
DocTest 및 Sanitizers를 사용한 런타임 테스트
기능 사용을 단순화하기위한 명령 줄 도구

패치 된 버전의 Megalinter와의 통합 덕분에 많은 Linters, Formatter 및 정적 분석 도구 통합 및 프로젝트의 각 측면에 대한 설정 및 설정.

도구의 원시 로그를 응시할 필요가 없습니다. CodeChecker 덕분에 브라우저에서 요약 테이블, 프로젝트 통계 및 보고서를 확인할 수 있습니다. 
로컬로 실행할 수 없더라도 문제가 아닙니다. 동일한 수표 및 보고서로 Artifacts로 업로드 된 GitHub CI 설정 준비
Linters가 몇 가지 문제를 발견하면 풀 요청이 통과되지 않습니다

검토 도구 의견 CPP Linters 출력 풀 요청

Linters 제안 및 자동 수정 사항은 검토 도구가 풀 요청의 제안으로 표시됩니다.

댓글 : 예제로 줄을 서면 피드백을 요청합니다. PR에 남은 문제가 없으면 BOT에서 업데이트 된 메시지가 표시됩니다.

풀 요청 CodeCov 보고서가있는 코드 적용 범위

로그가있는 모든 아티팩트는 CI에서 다운로드 할 수 있습니다.
이 프로젝트는 개발 중이며 API, 설정 및 도구의 변경 사항을 기대합니다. 프로젝트에 대한 의견이 많은 규칙과 규칙 세트를 사용하고 개인의 요구에 가장 잘 맞도록 구성 파일을 자유롭게 변경하십시오. 소스 코드에 대한 기여, 문제 및 요청에 대한 기부금을 포크하고 놀 수 있습니다.
이 템플릿은 사용자 환경과 다른 수준의 통합에서 사용할 수 있습니다. 텍스트 편집기를 사용하고 CI의 모든 검사를 실행하는 것부터 준비된 Docker 이미지 또는 Nix-Shell 및 로컬로 실행 체크를 사용합니다.
이 프로젝트를 포크, Github 작업을 활성화하고 Github 편집기 또는 로컬 텍스트 편집기와 함께 편집하십시오.
프로젝트를 사용하여 CMake Ninja와 Conan을 사용하십시오. 시스템에 설치 한 경우 다른 CMAKE 프로젝트와 마찬가지로 테스트를 구축하고 실행할 수 있습니다. 또는 GCC를 사용하여 프로젝트를 구축하기 위해 프로젝트의 루트 에서이 bash 스크립트를 실행하십시오.
ci/builders/gcc/build.sh이 프로젝트를 현지에서 최대한 활용하려면 옵션이 있습니다.
준비된 Docker 이미지를 사용할 수있는 것보다 Docker를 설치하십시오. Docker Image 내부에서 Bash Shell을 실행하려면 Project의 루트 에서이 스크립트를 호출하십시오.
ci/docker/run_shell.sh닉스 패키지 관리자를 설치하거나 닉스를 사용하십시오. 이 경우 Nix-Shell에게 전화하십시오
nix-shell좋아요. Docker Image 또는 Nix-Shell과 함께 환경을 얻었습니다. 다음에 무엇을 살펴 보겠습니다. 프로젝트 사용을 용이하게하기 위해 우리는 만 사용합니다. 그래서 우리는 그것을 그렇게 부를 수 있습니다.
just프로젝트를 사용하기 위해 사용할 수있는 사용 가능한 레시피 (액션)가 표시됩니다.

주요 기능을 탐색합시다. 명령을 사용하여 GCC 또는 Clang 컴파일러로 프로젝트를 구축 할 수 있습니다.
just build-gcc just build-clang프로젝트 사용에서 모든 라이터를 실행하려면 다음과 같습니다.
just lint-all프로젝트에서 특정 Linter를 실행하려면 Lint-With 명령을 설명자 이름으로 사용하고 Linter 모든 자본 케이스 분할 밑줄별로 분할하십시오. 따라서 CPP 디스크립터에서 Clang-Tidy를 실행하려면 다음을 호출합니다.
just lint-with CPP_CLANG_TIDY그리고 우리는 단일 린터의 보고서를 볼 것입니다.

Linting 후 Linters의 모든 로그로 보고서 폴더를 확인할 수 있습니다.
Nix-Shell 또는 Docker Image에서 Docker 이미지를 직접 빌드 할 수도 있습니다. Nix는 모든 라이터를 포함하는 Docker 이미지로 Tar Archive를 재현 적으로 구축하는 데 사용되었습니다.
just docker-build생성 된 결과가 CI에 의해 생성 된 결과와 동일한 해시 합계를 확인할 수 있습니다.
sha256sum result결과에서로드 된 것보다 도커 이미지 :
just docker-load또는 Docker-update-locally를 실행하여 이미지 생성, SHA256SUM을 수행하고 단일 명령으로로드 할 수 있습니다.
just docker-update-locallyDocker-Update 명령은 이미지를 빌드하여 Docker-Hub에 업로드합니다.
just docker-update모든 내부 작업을 보려면 각 동작에 대한 콘크리트 배쉬 스크립트를 위해 JustFile을 살펴보십시오. GitHub CI 설정의 GitHub 워크 플로우 파일을 확인하십시오.
온라인 서비스
통합 콘솔 명령
git
라이센스
파일 및 디렉토리
철자
CPP 정적 분석
CPP 동적 분석
CPP 라이브러리 사용의 예
cmake
껍데기
아니야
MD 파일
얌
CPP 도구
CPP 컴파일러
CI 환경
라이브러리 사용의 예
GUI 테스트
재현 가능한 테스트를 구축합니다
통합 콘솔 명령
승인 테스트
마이크로 렌칭
시간 벤치마킹을 컴파일하십시오
프로젝트에 대한 위키
로고와 삽화
안정적인 릴리스 버전 및 태그
로드맵
기고자들에게 큰 감사를드립니다. 크레딧으로 기고자를 볼 수 있습니다.
MIT 라이센스의 조건에 따라 CIT 템플릿. 자세한 내용은 라이센스를 참조하십시오.