지난 포스팅에 이어 백엔드용 Spring Boot 를 빌드 및 배포해보자.

  1. DockerFile 작성 (프로젝트 루트경로에 작성한다
FROM openjdk:11
# FROM amazoncorretto:11 ==> amazon corretto 11 사용할 경우
ARG JAR_FILE=build/libs/*.jar
COPY ${JAR_FILE} app.jar
ENV SPRING_PROFILES_ACTIVE=prod
ENTRYPOINT ["java","-jar","/app.jar"]
# ENTRYPOINT ["java","-jar","-Dspring.profiles.active=prod","/app.jar"]
# => 설정파일을 분리해서 사용할 때
# java -jar -Dspring.profiles.active=prod app.jar

2. Build

필자는 Gradle 을 쓰기 때문에 Gradle 로 한다.

./gradlew build -x test

3. 도커 이미지 생성

# gradle linux/amd64 옵션은 맥북 M1을 위한 옵션
$ docker build --build-arg DEPENDENCY=build/dependency -t 도커허브 ID/Repository --platform linux/amd64 .

# maven
$ docker build -t 도커허브 ID/Repository --platform linux/amd64 .

# 확인
$ docker images

4. 도커 업로드

# 로그인
$ docker login

# 업로드
$ docker push 도커허브이름/Repository:버전정보

그 외 리눅스 서버 배포는 Next.js 배포와 동일하니 거길 보고 따라하시면 됩니다.

 

 

지난 포스팅에서 M1 맥북기준 KeyStore를 만들었다.

이제 KeyStore 설정을 할 차례다.

우선 플러터 프로젝트의 android 폴더 하위에

key.properties 파일을 생성한다. 오타에 주의하자.

key.properties 파일 생성

이제 key.properties 에 이 내용을 채워넣는다.

storePassword 와 keyPassword를 입력하는데, 지난 포스팅에서 입력했던 비밀번호를

동일하게 작성하면 된다.

keyAlias 의 경우 지난 포스팅을 확인해보자 .

이 명령어를 보면 upload 란 이름으로 만들었기에 keyAlias 를 upload 라고 작성한다.

storeFile의 경우 지난 포스팅에서 만들었던 upload-keystore.jks 의 파일 경로를 작성한다.

다음으로 android/app/build.gradle 파일을 수정한다.

android 윗부분에 keystore 프라퍼티를 추가한다.

def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
    if (keystorePropertiesFile.exists()) {
    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
    }

다음으로 signingConfigs 를 추가한다.

 signingConfigs {
        release {
        keyAlias keystoreProperties['keyAlias']
        keyPassword keystoreProperties['keyPassword']
        storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
        storePassword keystoreProperties['storePassword']
        }
    }

마지막으로 buildTypes 의 release 부분을 수정한다.

signingConfigs.debug -> signingConfigs.release 로 변경한다.

이제 모든 설정은 끝났고, 앱번들을 만들어 플레이스토어에 등록하면 된다.

플러터에서 웹뷰를 쓰다보니 apk를 만들 때

버전을 맞추라고 에러 메시지가 나왔다.

수정한 결과를 작성한다.

경로 : 플러터프로젝트/android/app/src/build.gradle

defaultConfig {
     minSdkVersion 21
     targetSdkVersion 30
     versionCode flutterVersionCode.toInteger()
     versionName flutterVersionName
}



build.gradle 파일의 defaultConfig object를 저런식으로 수정해야 한다.

 

+ Recent posts