Gradle SSH Plugin is a Gradle plugin which provides remote command execution and file transfer features.
Please see the user guide for details.
This is an open source software licensed under the Apache License Version 2.0.
Please let me know on GitHub issues or pull requests.
The user guide is maintained on the repository of gradle-ssh-plugin.github.io.
The template project is maintained on this repository.
JDK 7 or later is needed. All dependencies are downloaded by Gradle wrapper.
The continuous integration is enabled on Travis CI. See the build report for each branch.
Artifacts are released on Gradle Plugins, Bintray JCenter and Maven Central.
Run the build task.
./gradlew build
Known issues:
- Mac OS X
- 1 test will be failed
- Due to a bug of JSch to handle a hashed
known_hosts
on Mac OS X.
- Windows
- 2 tests will be failed
- Apache sshd server does not support SFTP operations on Windows.
We can run acceptance tests to verify behavior of the plugin on Gradle environment.
Prerequisite:
- SSH service must be started on localhost port 22
- Current user must be able to log in with a private key placed at
~/.ssh/id_rsa
without any passphrase - SSH service must accept SFTP subsystem
Run the test task.
./gradlew install
./gradlew -p acceptance-tests -i test
We can run also aggressive tests changing system configuration. It is strongly recommended to run on a disposable container, e.g. Docker.
docker build -t gradle-ssh-plugin acceptance-test
docker run -v /tmp/.gradle:/root/.gradle gradle-ssh-plugin
Build with JDK 7 for compatibility. Run the upload task with Bintray credential.
docker build -t gradle-ssh-plugin .
docker run -v /tmp/.gradle:/root/.gradle gradle-ssh-plugin \
-PbintrayUser=$bintrayUser -PbintrayKey=$bintrayKey -Pversion=x.y.z bintrayUpload