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' } } } }