RabbitAI의 코드리뷰 기능과 SonarQube의 정적분석기능을 함께 이용해 CI ~ CD 단계의 일부에 활용하는 변종 Flow를 알아보겠습니다.
코드 컨벤션,룰셋등 조정없이 순정인 상태로만 이용을 하였습니다.



name: Build
on:
push:
branches:
- main
jobs:
build:
name: Build and analyze
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: 17
distribution: 'zulu' # Alternative distribution options are available.
- name: Cache SonarQube packages
uses: actions/cache@v4
with:
path: ~/.sonar/cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar
- name: Cache Gradle packages
uses: actions/cache@v4
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
restore-keys: ${{ runner.os }}-gradle
- name: Build and analyze
env:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }}
run: cd ./KotlinBootReactiveLabs && chmod +x ./gradlew && ./gradlew build sonar --info -x test |
머지요청 ~ 리뷰 ~ 빌드분석 까지 여정을 대시보드를 통해 확인및 측정을 할수 있습니다.
“측정하지 못하면 관리할 수 없고, 관리할 수 없으면 개선할 수 없다”

셀프로 연구중인 코드에서 오버 엔지니어인것처럼 보일수 있지만 한명의 AI 협력자를 두어 외롭지않은 개발을 할수 있는것 자체로도 유용할것같으며
아는만큼 적용한다고 팀프로젝트에도 도입하면 유용할것으로 보여집니다.
이상 코프링 Reactive Labs(Akka)을 연구하는도중 AI협력자를 셋업한 변종 실험이였습니다.