jar파일 하나만 배포하면 끝
하위 디렉토리를 포함하여 파일을 선택하여 전송하려면, from 매개변수에 디렉토리 경로와 함께 include 메서드를 사용하여 선택할 파일 패턴을 지정할 수 있습니다.
예를 들어, 다음과 같은 디렉토리 구조가 있다고 가정합니다.
cssmy-project/
├── build.gradle
└── deploy/
├── a.txt
├── b.txt
├── subdirectory/
│ ├── c.png
│ └── d.png
└── e.jpg
위 구조에서 deploy 디렉토리와 그 하위 디렉토리에 있는 모든 PNG 파일을 /remote/directory로 전송하려면 다음과 같은 코드를 사용할 수 있습니다.
groovytask deploy { doLast { ssh.run { session(remotes.deploy) { put from: "${project.projectDir}/deploy/", include: "**/*.png", into: "/remote/directory" } } } }
위 예제에서는 put 메서드의 from 매개변수에 ${project.projectDir}/deploy/를 지정하여 deploy 디렉토리를 선택하고, include 메서드에 **/*.png를 지정하여 모든 하위 디렉토리에 있는 PNG 파일을 선택합니다. into 매개변수는 전송할 서버의 디렉토리 경로를 지정합니다.
따라서, include 메서드를 사용하여 하위 디렉토리를 포함하여 파일을 선택할 수 있습니다.
이라서 물어봤는데..
복잡하기만하다..
결국.. 하단 참조로 해결함
https://gradle-ssh-plugin.github.io/docs/#add-a-remote-host
Gradle 7.5에서 groovy문법임
----------build.gradle 추가
plugins {
id 'org.hidetake.ssh' version '2.11.2'
}
remotes {
webServer {
host = 'example.com'
user = 'example' //계정ID
password = 'xxpwd' //계정 암호
}
}
task deploy {
doLast {
println "Project root directory: ${project.projectDir}"
ssh.run {
session(remotes.webServer) {
put from: "${project.projectDir}/deploy/", into: '/home/dddd/target'
//execute 'sudo service tomcat restart'
}
}
}
}