Spring

gradle를 이용한 원격서버 배포하기

나쁜천사1004 2024. 3. 7. 14:07

build.gradle 파일 열어서 아래 소스를 추가한다.

 

아래 소스는  plugins 위에 작성해야 한다. 그냥 멘 위에 작성.

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:2.1.2.RELEASE")
        classpath("org.hidetake:gradle-ssh-plugin:2.2.0")
    }
}

 

plugin  다음에 아래 소스 추가

 

apply plugin: 'org.hidetake.ssh'

 

build.gradle 파일 끝부분에 아래 부분 추가

 

remotes {
    dev_server {
        host = "XXX.XXX.XXX.XXX"
        port = 22
        user = "user"
        password = "password"
        knownHosts = allowAnyHosts
    }
}

 

task('devDeployRun') {
    dependsOn 'bootWar'
    group = 'application'

    doLast {
        String path = bootWar.destinationDirectory.getAsFile().get()
        String filename = bootWar.archiveFileName.get()
        println 'path : ' + path
        println 'filename : ' + filename

        ssh.run {
            session(remotes.dev_server) {
                put from: "${path}/${filename}", into: '/sample'
                execute("sh sample.sh")
            }
        }
    }
}

 

gradle 빌드하면 아래 그림과 같이 devDeployRun이 보여진다.

클릭하면 remote 서버로 배포된다.

 

반응형