40 개가 넘는 지원되는 언어에서 코드시 정적 분석을 실행하고 코드에서 식별 된 문제를 반환하기위한 Github 조치.
Codacy는 PHP, JavaScript, Python, Java 및 Ruby와 같은 40 개 이상의 프로그래밍 언어를 분석하여 팀이 고품질 코드를 쉽게 작성할 수 있도록 자동화 된 코드 검토 도구입니다. Codacy를 사용하면 자신의 품질 규칙, 코드 패턴 및 코드베이스의 문제를 방지하기 위해 시행하려는 품질 설정을 정의 할 수 있습니다.
Codacy Github 액션은 다음과 같은 시나리오를 지원합니다.
기본적으로 Codacy Github 조치 :

기본 설정과 함께 GitHub 작업을 사용하려면 다음을 파일에 추가하십시오 .github/workflows/codacy-analysis.yaml 리포지토리에 추가하십시오.
name : Codacy Analysis CLI
on : ["push"]
jobs :
codacy-analysis-cli :
name : Codacy Analysis CLI
runs-on : ubuntu-latest
steps :
- name : Checkout code
uses : actions/checkout@main
- name : Run Codacy Analysis CLI
uses : codacy/codacy-analysis-cli-action@master Codacy Github 작업을 GitHub 코드 스캔과 통합하여 탭 보안 , 페이지 코드 스캔 알림 아래에 저장소의 분석 결과를 표시합니다.
이 시나리오에서 GitHub 작업 :
master 또는 main 브랜치에 분석합니다.results.sarif 로 출력합니다 .Sarif는 GitHub에 업로드됩니다. 
GitHub 코드 스캔 통합으로 GitHub 작업을 사용하려면 다음을 파일에 추가하십시오 .github/workflows/codacy-analysis.yaml 은 다음과 같습니다.
name : Codacy Security Scan
on :
push :
branches : [ "master", "main" ]
pull_request :
branches : [ "master", "main" ]
jobs :
codacy-security-scan :
name : Codacy Security Scan
runs-on : ubuntu-latest
steps :
- name : Checkout code
uses : actions/checkout@main
- name : Run Codacy Analysis CLI
uses : codacy/codacy-analysis-cli-action@master
with :
output : results.sarif
format : sarif
# Adjust severity of non-security issues
gh-code-scanning-compat : true
# Force 0 exit code to allow SARIF file generation
# This will hand over control about PR rejection to the GitHub side
max-allowed-issues : 2147483647
# Upload the SARIF file generated in the previous step
- name : Upload SARIF results file
uses : github/codeql-action/upload-sarif@main
with :
sarif_file : results.sarif github 동작을 사용하여 코드시가 지원하는 컨테이너화 된 클라이언트 측 도구를 실행하고 분석 결과를 코드시에 업로드하십시오.
이 시나리오에서 GitHub 작업 :
그 후, Codacy는 UI 대시 보드에 커밋 및 풀 요청 분석 결과를 표시하고 선택적으로 GitHub 풀 요청에 대한 분석 상태를보고합니다.

Codacy 통합과 함께 Github 동작을 사용하려면 :
Codacy에서 컨테이너화 된 클라이언트 측 공구를 활성화하고 리포지토리 코드 패턴 페이지에서 해당 코드 패턴을 구성하십시오.
Codacy에서 저장소 설정 , 탭 일반 , 저장소 분석 에서 빌드 서버를 통해 실행 분석을 활성화하십시오.
이 설정을 통해 Codacy는 커밋 분석을 재개하기 전에 로컬 분석 결과를 기다릴 수 있습니다.
GitHub 작업이 코드시에 대해 인증 할 수 있도록 API 토큰을 설정하십시오.
CODACY_PROJECT_TOKEN 이라는 이름으로 리포지토리 의 암호화 비밀로 저장하십시오.CODACY_API_TOKEN 이라는 이름으로 조직 의 암호화 비밀로 저장하십시오.
켈 구성 파일에 API 토큰을 쓰지 말고 Codacy에 대한 프로젝트에 소유자 권한을 부여하므로 API 토큰을 잘 보호하십시오.
리포지토리의 파일 .github/workflows/codacy-analysis.yaml 에 다음을 추가합니다. 여기서 <CLIENT_SIDE_TOOL_NAME> 은 Codacy 분석 CLI가 로컬로 실행되는 컨테이너화 된 클라이언트 측 도구의 이름입니다.
name : Codacy Analysis CLI
on : ["push"]
jobs :
codacy-analysis-cli :
name : Codacy Analysis CLI
runs-on : ubuntu-latest
steps :
- name : Checkout code
uses : actions/checkout@main
- name : Run Codacy Analysis CLI
uses : codacy/codacy-analysis-cli-action@master
with :
tool : <CLIENT_SIDE_TOOL_NAME>
project-token : ${{ secrets.CODACY_PROJECT_TOKEN }}
# or
# api-token: ${{ secrets.CODACY_API_TOKEN }}
upload : true
max-allowed-issues : 2147483647GO 클라이언트 측 공구를 실행하는 경우 Codacy Analysis Cli Github 작업을 실행하기 전에 GO 환경을 설정해야합니다. 이를 위해 Setup-Go Github 동작을 사용하는 것이 좋습니다.
- name : set-up go
uses : actions/setup-go@v3
with :
# Go version currently supported by Codacy
go-version : 1.19.1선택적으로 독립형 클라이언트 측 도구를 실행할 다음 매개 변수를 지정하십시오.
run-gosec : " true "
run-staticcheck : " true "도구 Clang-Tidy 및 인조 PA의 복잡한 오케스트레이션으로 인해 작업은 도구의 출력 파일을 대신 받고 코드를 업로드 할 수 있습니다.
clang-tidy-output : " path/to/output "
faux-pas-output : " path/to/output "Codacy가 지원하는 모든 컨테이너화 된 도구가 아니라 독립형 클라이언트 측 도구 만 실행하려면 다음을 지정하십시오.
run-docker-tools : " false "선택적으로 Codacy의 GitHub 통합을 활성화하여 변경된 파일의 분석에 대한 정보를 풀어 요청합니다.
Codacy Github 동작은 Codacy Analysis CLI를 실행하기위한 래퍼입니다. 지원되는 입력 매개 변수 목록은 action.yml 참조하십시오. 입력 매개 변수를 동작에 전달하려면 with 맵을 업데이트하십시오.
다음 예제는 분석을 src 디렉토리로 제한하고 verbose true 로 설정하여 추가 세부 사항을 제공합니다.
- name : Run Codacy Analysis CLI
uses : codacy/codacy-analysis-cli-action@master
with :
directory : src
verbose : true 우리는 기여, 피드백 및 버그 보고서를 좋아합니다. 이 조치를 실행하는 동안 문제가 발생하면이 저장소에서 문제를 엽니 다.