diff --git a/Jenkinsfile-service b/Jenkinsfile-service index 2797aad..83f30f2 100644 --- a/Jenkinsfile-service +++ b/Jenkinsfile-service @@ -1,19 +1,25 @@ pipeline { agent any - tools { - jdk("openjdk-17") - } stages { stage('Init') { steps { - sh 'printenv' + script { + sh 'whoami' + sh 'printenv' + + FLYWAY_CONFIG = '/home/ec2-user/flyway/flyway.conf' + MIGRATION_SCRIPT = './script/db_migration.sh' + } } } - stage('Github clone') { + stage('DB Migrate') { steps { - git branch: '${BUILD_BRANCH}', url: 'https://github.com/beaniejoy/dongne-cafe-api.git' + sh """ + chmod 755 ${MIGRATION_SCRIPT} + /bin/bash ${MIGRATION_SCRIPT} ${FLYWAY_CONFIG} + """ } } diff --git a/db/build.gradle.kts b/db/build.gradle.kts index 5a2cb97..7415256 100644 --- a/db/build.gradle.kts +++ b/db/build.gradle.kts @@ -19,8 +19,7 @@ flyway { baselineDescription = "Start Flyway Migration!" baselineOnMigrate = true baselineVersion = "000" - locations = arrayOf("filesystem:./migration", "filesystem:./seed") - configFiles = arrayOf("conf/flyway.conf") + configFiles = arrayOf(System.getProperty("config") ?: "flyway.conf") cleanDisabled = false // activate flywayClean ignoreMigrationPatterns = arrayOf("*:pending") // ignore validating pending(대기) state } \ No newline at end of file diff --git a/db/conf/flyway.conf b/db/flyway.conf similarity index 64% rename from db/conf/flyway.conf rename to db/flyway.conf index 4a5a3f1..1af2acc 100644 --- a/db/conf/flyway.conf +++ b/db/flyway.conf @@ -1,4 +1,5 @@ flyway.url=jdbc:mysql://localhost:3306/dongne?autoreconnect=true&characterEncoding=utf8&serverTimezone=Asia/Seoul flyway.user=root flyway.password=beaniejoy -flyway.driver=com.mysql.cj.jdbc.Driver \ No newline at end of file +flyway.driver=com.mysql.cj.jdbc.Driver +flyway.locations=filesystem:db/migration,db/seed \ No newline at end of file diff --git a/script/db_migration.sh b/script/db_migration.sh new file mode 100644 index 0000000..c43b2d4 --- /dev/null +++ b/script/db_migration.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +echo "================ 1. Flyway Info ================" +./gradlew :db:flywayInfo -Dconfig=$1 + +echo "================ 2. Flyway Validate ============" +./gradlew :db:flywayValidate -Dconfig=$1 + +echo "================ 3. Flyway Migrate =============" +./gradlew :db:flywayMigrate -Dconfig=$1 +