βΌοΈ μ΄λ²μ μκ°ν λ΄μ©μ CloudType μ ν΅ν λ°°ν¬μ λν λ΄μ©μ λλ€.
cloudTypeμ docker νκ²½μμ λΉλλκ³ μ€ν λ©λλ€. μ‘°κΈ λλ¦°κ°μ μμ§λ§ κ°λ¨ν ν μ΄ νλ‘μ νΈ λ μ΄μ©νκΈ° μ’μ κ² κ°μ΅λλ€. ππ
Spring , Gradle , MariaDB λ₯Ό μ¬μ©νμ¬ κ°λ°ν νλ‘μ νΈλ₯Ό CloudType μ ν΅ν΄ λ°°ν¬ν΄λ³΄κ² μ΅λλ€.
CloudType μ ν΅ν λ°°ν¬λ λ€μκ³Ό κ°μ λ¨κ³λ‘ μ§νλ©λλ€.
CI/CD λ μ°¨ν ν¬μ€ν μ ν΅ν΄ λ€λ£¨λλ‘ νκ² μ΅λλ€.
μμμ νμλ‘ νλ νλ μ μν¬ ν νλ¦Ώ μμ λ₯Ό ν΅ν΄ μ΄λ»κ² λ°°ν¬ ν μ μλμ§ μμλ₯Ό μ μ μμ΅λλ€.
μ¬κΈ°μ GITHUB λ ν¬μ μ°κ²°μ΄ κ°λ₯ ν©λλ€. private λ ν¬λ μ°κ²°μ΄ κ°λ₯ν©λλ€.
μ΄κ±΄ api ν€ μ°λ ssh ν€ μ°λμ ν΅ν΄ κ°λ₯ν©λλ€. 곡μ λ¬Έμμ λμμμ΅λλ€.
κ°λ¨νκ² λ§λ€μ΄ λ³Έ TODO νλ‘μ νΈλ₯Ό λ°°ν¬ν΄λ³΄κ² μ΅λλ€.
μμμ λΈλμΉλ₯Ό μ ν ν μ μκ³
Java version μ μ ν ν μ μμ΅λλ€. μ λ TODO νλ‘μ νΈ Spring version 3.0 μ μ¬μ© νκ³ μκΈ° λλ¬Έμ
ππ Java 17λ₯Ό μ ν νμ΅λλ€. ππ
λ¨Όμ μ λ Spring Project μμ local κ°λ° νκ²½μμ h2 db λ₯Ό μ¬μ© νκ³ μκ³
λ°°ν¬ νκ²½μμλ MariaDB λ₯Ό μ¬μ© νκ³ μμ΅λλ€. λ°λΌμ λ°°ν¬ μ profile μ ν΅ν΄ νκ²½λ³μλ₯Ό μ€μ νμμ΅λλ€.
μ λ MariaDB λ₯Ό μ¬μ© νκ³ μκΈ° λλ¬Έμ νκ²½ λ³μλ₯Ό μ€μ ν΄μ£Όμμ΅λλ€.
Databaseλ CloudTypeμμ λ°°ν¬ ν μ μλ MariaDBλ₯Ό μ¬μ© νμλλ°
μ¬κΈ°μ νκ²½ λ³μλ‘ λ±λ‘ νλ database hose λ μμ±ν mariadb app name μ λλ€.
κΈ°λ³Έμ μΌλ‘ μμ± μ app name μ΄ mariadbλ‘ μμ±λ©λλ€.
# application.yml
spring:
profiles:
active: ${PROFILE}
main:
allow-bean-definition-overriding: true
# application-prod.yml
spring:
datasource:
url: jdbc:mariadb://${TODO_MYSQL_HOST}:${TODO_MYSQL_PORT}/${TODO_DATA_BASE_NAME}?useSSL=false
#jdbc:mysql://localhost:3306/test
username: ${TODO_MYSQL_USER_NAME}
password: ${TODO_MYSQL_PASSWORD}
driver-class-name: org.mariadb.jdbc.Driver
jpa:
hibernate:
ddl-auto: update # (1) ??? ?? ??
show-sql: false # (2) SQL ?? ??
properties:
hibernate:
format_sql: true # (3) SQL pretty print
dialect: org.hibernate.dialect.MariaDB103Dialect
ππ ${} μμ μλ νκ²½ λ³μλ CloudType μμ μ€μ ν μ μμ΅λλ€.
μ΄λ κ² λͺ¨λ μ€μ ν΄μ€ λ€ λ°°ν¬νκΈ°λ₯Ό λλ₯΄λ©΄ λ°°ν¬κ° μμ λ©λλ€.
ππ μ± λ΄λΆμμ λ°°ν¬ λ΄μμ νμΈ κ°λ₯ ν©λλ€.
μ΄λ κ² build command λ₯Ό μ€μ ν΄μ€λλ€.
μλ νμΈμ ! λ¬΄λ£ μ¬μ© λ©λͺ¨λ¦¬ μ νμ΄ 1GBμΈλ° νΉμ mariadbμ μ€νλ§ μλ² λμΈ λ 1GB μ΄κ³Όνμ§ μμΌμ ¨λμ??