본문 바로가기
Android

[안드로이드] 프로젝트를 Git에 Push할 때 원하는 정보 숨기는 방법(.gitIgnore)

by JongSeok 2023. 2. 3.

안드로이드 프로젝트를 Git에 Push할 때 Git에 올라가지 말아야 할 민감한 내용이 포함되어 있을 수 있습니다.

 

고유 API KEY나 서버에 접근하기 위한 도메인 주소는 Git에 공개적으로 올라가지 말아야 합니다.

 

저는 처음에 Git에 푸시할 때마다 번거롭지만 서버 도메인 주소를 지우고 푸시했는데 종종 까먹고 도메인 주소를 Git에 노출시킨 적이 있습니다..ㅎ

 

이번 기회에 안드로이드 프로젝트를 개발하며 개발자가 Git에 올리고 싶지 않은 정보를 Push 과정에서 제외하는 방법에 대해 알아보겠습니다.


1. gitIgnore 파일에 local.properties 추가하기

.gitIgnore 파일은 Project 레벨에서 확인할 수 있습니다.

.gitIgnore 파일에 local.properties를 추가합니다.

gitIgnore은 단어 그대로 git에 프로젝트를 올릴 때 무시했으면 = 올라가지 않았으면 하는 정보나 파일을 입력하는 파일입니다.

 

보통 local.properties에 API KEY나 서버 주소를 기록하기 때문에 local.properties 파일이 올라가지 않도록 추가합니다.

 

2. local.properties 파일에 변수 정의하기

local.properties 파일은 Gradle Scripts에 위치해 있습니다.

local.properties에 프로젝트에서 사용하지만 Git에는 올리고 싶지 않은 정보를 입력합니다.

 

저는 서버 주소를 올리지 않을 거라 프로젝트에서 사용하고 있는 서버 주소를 입력해 두었습니다.

 

3. app수준 build.gradle에 Properties 객체 생성 후 local.properties 파일 load하기

plugins {...} 하단, android {...} 상단에 Properties 객체를 생성했습니다.

(kotlin 문법으로 작성하니 오류가 발생해서 자바 문법으로 Properties를 선언했습니다.)

 

4. buildConfigField 변수 생성 후 프로젝트 빌드하기

android {
    ...
    defaultConfig {
        ...
        buildConfigField "String", "변수명", properties['local.properties에서 만든 변수명']
    }
}

앞서 Properties 객체를 생성한 하단 블럭에 buildConfigField를 추가합니다.

 

이제 Sync now 이후 프로젝트를 다시 빌드합니다.

 

5. BuildConfig 클래스에서 변수 확인

생성했던 변수를 선언할 액티비티나 프래그먼트에서 'BuildConfig' 를 입력하고 Ctrl 키를 누른 상태에서 클릭하면 해당 클래스로 이동합니다.

 

정의했던 변수가 정상적으로 생성되었는지 확인합니다.

(생성되지 않았다면 Build → CleanProject를 통해 다시 빌드해 줍니다.)

val BASE_URL = BuildConfig.BASE_URL

이제 프로젝트에서 상수처럼 사용이 가능합니다!!

728x90
반응형