Das Gradle Deploy Plugin
Das https://gradle-ssh-plugin.github.io/docs/ gradle plguin eigent sich um zum Beispiel eine Spring Boot Jar auf einen remote Server zu deployen.
Upload per SSH auf einen Server
Hier nun ein Beispiel, wie man eine Datei auf einen remote Server kopiert. Dazu muss zunächst der Server definiert werden. Im Anschluss wird ein Deploy Task definiert, der von dem bootJar Task abhängt.
/**
* This deployment script uses ssh to copy the spring boot jar to a remote server. The credentials are stored
* in the credential store plugin from nu.studer.
*
* set user and password for deployment
*
* to set username
* ./gradlew addCredentials --key deployUsername --value sascha
*
* to set password
* read -s -p "Enter Password: "; ./gradlew addCredentials --key deployPassword --value $REPLY; unset REPLY
*/
// define remote server
remotes {
server {
host = 'server'
user = credentials.deployUsername
password = credentials.deployPassword
}
}
// copy jar to server
task deploy(dependsOn: bootJar) {
doLast {
ssh.run {
session(remotes.server) {
put from: bootJar.archivePath.path, into: '/somejar-0.0.1.jar'
}
}
}
}
Weitere Möglichkeiten gradle-ssh Plugin
Das war hier natürlich nur ein sehr einfach gehaltenes Bespiel. Es lassen sich durch die zahlreichen Funktionen wie das Ausführen, Kopieren und vielen mehr fast alles realisieren.