이 가이드는 RT 형상인 STATIC 패키지에 탐침을 넣는 방법입니다. Release 패키지에는 탐침 넣으면 혼나요~
STATIC Builder.exe를 이용하여 빌드할게요, 없으면 설치하세요.
깃랩 variable을 이용해서 빌드를 돌릴거에요, gitlab-ci.yml 위치는 STATIC repository에 static\\ci-configuration
에 있으니 참고하세요.
예?!
Build Report with Cover:
extends:
- .inactive_job_for_test
- .launcher_package_coverage_configuration
script:
- cd Services/Report
- if '%CI_COMMIT_REF_NAME:~0,7%' == 'release' python ../../build/artifact-copy.py --pattern *.java --output %STATIC_OUT_DIR%\\src\\Services\\Report --clear
- java -jar E:\\cover-agent\\bin\\cover-jacov-cli-jre8.jar ./src --exclude "test";".\\src\\main\\java\\com\\codescroll\\report\\connections\\model\\RevisionGraphQLObj.java";".\\src\\main\\java\\com\\codescroll\\report\\connections\\model\\defect\\DefectList.java";".\\src\\main\\java\\com\\codescroll\\report\\connections\\model\\defect\\DefectList.java";".\\src\\main\\java\\com\\codescroll\\report\\connections\\model\\defect\\Defect.java"
- call mvn -s settings.xml clean package -DskipTests
- python ../../build/artifact-copy.py --src target --pattern *.jar --output %STATIC_OUT_DIR%\\bin --flat
only:
changes:
- Services/Report/**/*
- Common/service-common/**/*
variables:
- $COVERAGE_REPORT
- $COVERAGE_ALL
- $COVERAGE_SERVICE_ONLY
artifacts:
paths:
- Services/Report/target/*.jar
위 예제에서 variables
보이죠?? 3개 중에 하나가 True이면 돌아가는거에요. 꼭 무조건 있는건 아니니 나중에 필요하면 추가하거나 수정하세요~
여기서 어떤게 탐침 이죠??
script:
- java -jar E:\\cover-agent\\bin\\cover-jacov-cli-jre8.jar ./src --exclude "test";".\\src\\main\\java\\com\\codescroll\\report\\connections\\model\\RevisionGraphQLObj.java";".\\src\\main\\java\\com\\codescroll\\report\\connections\\model\\defect\\DefectList.java";".\\src\\main\\java\\com\\codescroll\\report\\connections\\model\\defect\\DefectList.java";".\\src\\main\\java\\com\\codescroll\\report\\connections\\model\\defect\\Defect.java"
자, 이제 STATIC Builder에 있는 config.json을 수정하고 저장합니다.
{
"name": "STATIC COVERAGE ALL", -> 아무거나 넣어도 상관 없음, UI에 표시되는 TEXT
"env": "COVERAGE_ALL" -> yml에 variables 중 하나
}
STATIC Builder를 재시작하고 Branch, Application 선택하고 Run
빌드가 완료되면 165에 STATIC_DIST 또는 Toolbox server(build_version.json 확인)에 Client들이 들어있음.
원래 외부 라이브러리를 사용할 떄 넣지만 커버 탐침을 자바 프로젝트안에 넣지 않고 외부 스크립트에서 넣었기때문에 다 넣어줘야 함(나중에 Common에 넣는 방법도 있는데 현재로서는 관리하지 않기 때문에 실행이 X, 커버팀에게 물어볼 것). → 자동화로 만들면 좋을 것 같음.