GitHub Actions을 활용하여 Android CI 구축하기

dev_yo·2025년 10월 15일
post-thumbnail

안녕하세요! 👋
오늘은 개인 프로젝트를 진행 하며 GitHub에서 제공하는 GitHub Action을 통해 CI환경을 구축했던 경험에 대해서 공유 해보려고 합니다!

🤔 CI란?

Continuous Integration의 약자로 코드를 푸시되거나 Pull Request가 생성될 때 자동으로 빌드, 테스트, 정적 분석을 수행하는 프로세스를 의미합니다.

📌 적용 방법

1. Project 최상단에 .github/workflows 를 만듭니다.

2. 아래 ${filename}.yml 파일을 생성합니다.

3. github -> Settings -> Security -> secrets and variables -> Actions 탭으로 들어갑니다.

4. 아래 New repository secret 버튼을 클릭하여 local.properties에 저장된 정보들을 세팅 해줍니다.

5. yml 코드 작성

on:
  push:
    branches: [ "main" ]
  pull_request:
    branches: [ "main" ]
  • main 브랜치에 push 또는 PR이 생길 때 자동 실행됩니다.

uses: actions/setup-java@v4
with:
  distribution: temurin
  java-version: 17
  cache: gradle
  • Temurin JDK 17 설치
  • Gradle 의존성 캐시 자동 관리

run: chmod +x gradlew
  • gradlew 권한 부여

run: |
  cat <<'EOF' > local.properties
  secret_key=${{ secrets.${GitHub Secret Value} }}
  EOF

GitHub Secrets 값으로 local.properties를 직접 생성합니다.


./gradlew lint testDebugUnitTest assembleDebug
  • lint: 코드 스타일 및 XML, Manifest 정적 분석
  • testDebugUnitTest: JVM 단위 테스트 실행
  • assembleDebug: Debug APK 빌드

uses: actions/upload-artifact@v4
with:
  name: app-debug-apk
  path: app/build/outputs/apk/debug/*.apk

빌드 성공 시 Artifacts 탭에 APK 자동 업로드

6. commit 후에 Actions탭에서 설정한 브랜치에 Push 혹은 Pull Request 생성 시에 WorkFlow가 생성 되는지 여부와 성공 여부를 확인 한다.

🚀 마치며

대부분의 개인 프로젝트가 GitHub 위에서 진행되다 보니,
이렇게 간단하게 CI 환경을 만들 수 있다는 게 정말 매력적으로 느껴졌습니다.
앞으로 저는 여기서 한 걸음 더 나아가, CD 환경까지 직접 구축해보는 것을 목표로 하고 있습니다!
이 글이 여러분의 프로젝트에도 도움이 되었길 바라며,
오늘도 즐코하세요 🙏

profile
어제보다 발전한 오늘이 되고픈 🧑🏻‍💻

0개의 댓글