Gradle 배포 프로파일 분리

1 minute read

//////////////////////////// 배포 프로파일 분리 //////////////////////////// task jarCopy(type: Copy) { from “${buildDir}/libs/${project.name}-${project.version}.jar” into “${buildDir}/tmp/” rename (“${project.name}-${project.version}.jar”, “app.jar”) } build.finalizedBy(jarCopy)

apply plugin: ‘docker’ //https://github.com/Transmode/gradle-docker // private registry 추가 후 push task buildDocker(type: Docker, dependsOn: build) { push = false // url = ‘tcp://192.168.59.103:2375’ // certPath = new File(System.properties[‘user.home’], ‘.boot2docker/certs/boot2docker-vm’) // registryCredentials { // url = ‘https://index.docker.io/v1/’ // username = ‘bmuschko’ // password = ‘pwd’ // username = ‘benjamin.muschko@gmail.com’ // } applicationName = jar.baseName // dockerfile = file(‘src/main/docker/Dockerfile’) dockerfile = file(‘Dockerfile’) doFirst { copy { from jar into stageDir } } }

//////////////////////////// 배포 프로파일 분리 //////////////////////////// sourceSets { main { // groovy { // srcDirs = [‘src/main/groovy’] // } // scala { // srcDirs = [‘src/main/scala’] // } resources { exclude ‘conf/**’ exclude ‘logger/**’ // include ‘resource/**’ include ‘layout/**’ include ‘email/**’ include ‘**’ } }

// test { // groovy { // srcDirs = [‘src/test/groovy’] // } // scala { // srcDirs = [‘src/main/scala’] // } // } }

defaultTasks “profileInitConfig” task profileInitConfig(dependsOn: ‘assemble’) { // task profileInitConfig(dependsOn: ‘build’) { // 태스크의 로그레벨 logging.level = LogLevel.DEBUG println(“============ build path ============”) delete file(“$buildDir/resources/main/conf”) copy { from(“src/main/resources/conf/$profileName”) { include “**.properties” include “**.yaml” } from(“src/main/resources/conf”) { include “**.properties” } into “$buildDir/resources/main/conf” } delete file(“$buildDir/resources/main/logger”) copy { from(“src/main/resources/logger/$profileName”) { include “*.groovy” exclude “logback.xml” } into “$buildDir/resources/main/logger” } // copy { // from(“src/main/resources/email”) { // include “**” // } // into “$buildDir/resources/main/email” // } // copy { // from(“src/main/resources/layout”) { // include “**” // } // into “$buildDir/resources/main/layout” // } }

Updated: