CODACY 코드 분석을 로컬로 실행하기위한 명령 줄 인터페이스.
단일 명령으로 다음과 같이 할 수 있습니다.
curl -L https://github.com/codacy/codacy-analysis-cli/archive/master.tar.gz | tar xvz
cd codacy-analysis-cli- * && sudo make install사전 반품이 충족되면 이제 Bash와 Docker 간의 연결을 가능하게합니다.
데몬이 TLS없이 노출되어 있어야합니다. 그렇게하려면 Docker 설정 -> General로 이동하십시오. tcp : // localhost : 2375에서 'tcp : // localhost : 2375에서 devose daemon demon'라는 레이블로 확인란을 클릭하면 Docker가 다시로드됩니다.
이제 Bash로 가서 Docker 클라이언트를 설치하고 구성해야합니다.
Windows 10 (1803 이상 빌드)을 사용하는 경우 다음 명령은 Bash sudo ln -s "/mnt/c/Program Files/Docker/Docker/resources/bin/docker.exe" /usr/local/bin/docker
이전 버전의 Windows 10을 사용하는 경우 여기에서 팔로우 할 매우 쉬운 튜토리얼을 찾을 수 있습니다.
WSL을 사용하므로 변수 docker_host는 tcp://0.0.0.0:2375 로 구성되어야합니다.
export DOCKER_HOST=tcp://0.0.0.0:2375
이 변수를 .bashrc 또는 .bash_profile 파일에 추가하여 배쉬를 시작할 때 변수가 항상 준비되도록 할 수도 있습니다.
echo "export DOCKER_HOST=tcp://0.0.0.0:2375" >> ~/.bash_profile
echo "export DOCKER_HOST=tcp://0.0.0.0:2375" >> ~/.bashrc
Apple Silicon을 사용하는 경우 다음을 확인하십시오.
Use Rosetta for x86/amd64 emulation on Apple Silicon 하십시오 ( 개발 기능 아래) 이 시점에서 Codacy-Analysis-CLI를 설치할 준비가되었습니다.
Bash에서 도구를 다운로드하려는 폴더로 이동하여 다음 명령을 입력하십시오.
sudo apt-get install make
curl -L https://github.com/codacy/codacy-analysis-cli/archive/master.tar.gz | tar xvz
cd codacy-analysis-cli-*
다시 한번, WSL을 사용하기 때문에이 디렉토리의 두 개의 강조 표시된 선을 Makefile에 추가해야합니다.
테스트 섹션 전에 :
export DOCKER_HOST=tcp://0.0.0.0:2375
그리고 설치 에서 섹션 :
docker login
마지막으로 다음 명령을 입력하면 설치가 시작됩니다.
sudo make install
Docker의 사용자 이름이 필요한 경우 Docker 계정을 만든 방법에 따라 다를 수 있으므로 이메일이 아닌 사용자 이름을 작성하십시오.
codacy-analysis-cli analyze
--tool < TOOL-SHORT-NAME >
--directory < SOURCE-CODE-PATH > java -jar codacy-analysis-cli-assembly-{VERSION}.jar analyze
--tool <TOOL-SHORT-NAME>
--directory <SOURCE-CODE-PATH>
# other options
sbt " codacyAnalysisCli/runMain com.codacy.analysis.cli.Main analyze --tool <TOOL-SHORT-NAME> --directory <SOURCE-CODE-PATH> "docker run
--rm=true
--env CODACY_CODE= " $CODACY_CODE "
--volume /var/run/docker.sock:/var/run/docker.sock
--volume " $CODACY_CODE " : " $CODACY_CODE "
--volume /tmp:/tmp
codacy/codacy-analysis-cli
analyze --tool < TOOL-SHORT-NAME >CLI 출력의 기본 형식은 텍스트이며 3 가지 범주로 나뉩니다.
3 가지 수준 ( Error , Warning 및 Info )에 따라 도구에 의해보고 된 문제. 예:
Found [Error] `Expected "#E1675A" to be "#e1675a" (color-hex-case)` in styles/variables.less:4 (Stylelint_color-hex-case)
Found [Warning] `'object short notation' is available in ES6 (use esnext option) or Mozilla JS extensions (use moz).` in scripts/main.js:28 (iterator)
Found [Info] `Missing semicolon.` in views/components/Progress.jsx:18 (asi)
메트릭 데이터는 각 파일에 대해 인쇄되며 5 가지 유형의 데이터를 포함합니다.
LOC 코드 줄CLOC 댓글 줄의 코드 라인CC 순환 복잡성#methods 방법 수#classes 클래스 수예:
Found [Metrics] in generic/Test.java:
CC - 33
LOC - 778
CLOC - 864
#methods - 3
#classes - 1
발견 된 각 클론은 총 라인 수, 토큰 수 및 모든 발생 (시작된 선 및 종료 위치)에 대한 정보로 인쇄됩니다. 예:
Found [Clone] 7 duplicated lines with 10 tokens:
generic/test.rb
l. 681 - 687
l. 693 - 699
generic/another_test.rb
l. 601 - 607
l. 193 - 199
analyze - 디렉토리/파일을 통해 코드 메신저 분석을 실행하십시오--help 모든 구성 옵션, 의미 및 가능한 값을 표시합니다.--verbose 장황한 출력으로 도구를 실행하십시오--tool 코드 (예 : Brakeman) 또는 "메트릭", "복제", "문제"를 분석 할 도구를 선택하여 특정 도구 범주 만 실행합니다.--directory -분석 할 디렉토리를 선택하십시오--codacy-api-base-url 또는 Env. CODACY_API_BASE_URL codacy 설치 API URL 변경 구성을 검색합니다 (예 : 엔터프라이즈 설치)--output -출력 결과를 파일로 보냅니다--format [기본값 : 텍스트] -출력 형식 변경 (예 : JSON)--commit-uuid [기본값 : 최신 Commit of Current Git Branch]-Codacy에 대한 결과를받을 Commit UUID를 설정합니다.--skip-commit-uuid-validation [default : false]-현재 git 브랜치에 속하지 않더라도 커밋 UUID를 사용하는 힘.--skip-uncommitted-files-check [Default : False]-분석 디렉토리에서 커밋되지 않은 파일을 건너 뛰기--upload [default : false] -Codacy에 결과를 푸시하도록 요청합니다.--upload-batch-size [Default : 50000]-각 배치에서 코드시에 업로드하는 최대 결과 수--skip-ssl-verification [default : false]-Codacy API와 통신 할 때 SSL 인증서 확인을 건너 뜁니다.--parallel [default : 2] -병렬로 실행할 도구 수--max-allowed-issues [Default : 0]-분석이 성공할 수있는 최대 문제 수--registry-address [기본값 : 빈]-대체 레지스트리 주소 (예 : artprod.mycompany/)--fail-if-incomplete [Default : False]-도구가 실행되지 않으면 분석에 실패합니다.--allow-network [default : false]-네트워크 액세스를 허용하므로 필요한 도구가 실행될 수 있습니다 (예 : FindBugs)--force-file-permissions [Default : False]-분석을 실행하기 전에 권한을 변경하여 파일을 읽을 수 있도록 강제 파일--tool-timeout [Default : 15 분]-각 도구를 실행 해야하는 최대 시간 (예 : 15 분, 1 시간)--max-tool-memory [default : 3g]-각 도구 실행에 대한 최대 허용 메모리 (바이트 또는 Docker의 메모리 제한 플래그 사용).--tmp-directory [선택 사항]-분석 목적을위한 임시 디렉토리--gh-code-scanning-compat [Default : False]- 비 보안 문제의 경우 GitHub의 코드 스캔 기능과의 호환성을 위해 문제 심각도를 한 수준으로 줄입니다. 이 옵션은 --format sarif 와 함께 사용될 때만 효과가 있습니다. 이 경우 코드 비 시스터의 동일한 문제가 우선 순위가 높을 것입니다.validate-configuration - CODACY 구성 파일의 유효성 검사--directory -코드 acy 구성 파일을 찾을 수있는 디렉토리 선택CODACY_ANALYSIS_CLI_VERSION [default : stable] - CLI의 대체 버전을 실행하도록 설정하십시오. (예 : 최신, 0.1.0-Alpha3.1350, ...)SKIP_CONTAINER_ENGINE_CHECK [default : false] - Docker 소켓의 존재에 대한 초기 테스트를 건너 뛰십시오 (Docker 소켓을 사용할 수없는 시스템에서 실행할 때 유용함)특정 고급 구성을 수행하려면 Codacy를 사용하면 구성 파일을 만들 수 있습니다. 자세한 내용은 문서를 확인하십시오.
코드에서 코드가 수행하는 것과 동일한 분석을 로컬로 실행하려면 원격으로 구성을 요청할 수 있습니다.
프로젝트 토큰을 생성하는 방법을보십시오.
켈 경고 : 보안상의 이유로 Project API 토큰을 환경 변수 Codacy_Project_token (--project-token에 저장하는 것이 좋습니다.
codacy-analysis-cli analyze
--project-token < PROJECT-TOKEN >
--tool < TOOL-SHORT-NAME >
--directory < SOURCE-CODE-PATH > 계정 API 토큰을 생성하는 방법을보십시오.
켈 경고 : 보안상의 이유로 계정 API 토큰을 환경에--api-token설정하는 대신 Codacy_API_Token에 저장하는 것이 좋습니다.
공급자, 사용자 이름 및 프로젝트 이름은 코드 비의 URL에서 검색 할 수 있습니다.
codacy-analysis-cli analyze
--api-token < API-TOKEN >
--provider < PROVIDER >
--username < USERNAME >
--project < PROJECT-NAME >
--tool < TOOL-SHORT-NAME >
--directory < SOURCE-CODE-PATH > 암호
참고 : NO_SCAPEGOAT 는 테스트를 컴파일하는 동안 실행됩니다.
sbt compile
테스트
sbt test:compile
sbt testsbt scalafmtAll scalafmtSbtsbt dependencyUpdatessbt scapegoat
sbt scalafixsbt coverage test
sbt coverageReport
sbt coverageAggregate
export CODACY_PROJECT_TOKEN= " <TOKEN> "
sbt codacyCoverage현지의
sbt 'codacyAnalysisCli/stage'
docker build -t codacy-analysis-cli .
현지의
sbt 'set version in codacyAnalysisCore := "<VERSION>"' codacyAnalysisCore/publishLocal
풀어 주다
sbt 'set version in codacyAnalysisCore := "<VERSION>"' 'set pgpPassphrase := Some("<SONATYPE_GPG_PASSPHRASE>".toCharArray)' codacyAnalysisCore/publishSigned
sbt 'set version in codacyAnalysisCore := "<VERSION>"' sonatypeRelease
7.0.0 : 수정 --parallel 도구가 실제로 병렬로 실행되지 않은 Parallel. 이전 동작을 복원하려면 --parallel 1
4.0.0 : analyse 명령 이름을 analyze 할 이름을 바꿉니다. JAR 또는 sbt 사용하여 CLI를 실행하는 경우 이는 파손 된 변화이지만 제공된 스크립트를 사용하는 경우에는 그렇지 않습니다.
Codacy는 기술 부채를 모니터링하고 코드 품질 및 보안을 개선하고 개발자에게 모범 사례를 가르치며 코드 리뷰에서 시간을 절약 할 수 있도록 도와줍니다. 우리는 개발자가 코드 검토를 자동화하고 표준화하여 하루에 수십억 개의 코드를 배송하도록 도와줍니다.
Codacy는 워크 플로에 원활하게 통합하여 엔지니어링 팀이 코드 검토에서 시간을 절약하고 그렇지 않으면 기술 부채로 쌓이는 코딩 결함을 찾아서 수정 및 방지 할 수 있도록 도와줍니다. 우리의 플랫폼은 인공 지능을 사용하여 코드 품질 수정을 제안합니다. Codacy는 40 개 이상의 언어 및 프레임 워크를 지원하며 무료 오픈 소스로 제공됩니다.
자세한 내용은 무료 평가판을 시작하십시오.
Codacy는 또한 코드 적용 범위, 코드 복제 및 코드 복잡성을 추적하는 데 도움이됩니다.
Codacy는 PHP, Python, Ruby, Java, JavaScript 및 Scala를 지원합니다.
Codacy는 오픈 소스 프로젝트의 경우 무료입니다.