From f7ae278652f4fa77e92bb377661ac89643afae6b Mon Sep 17 00:00:00 2001 From: Basil Crow Date: Fri, 8 Nov 2024 11:53:36 -0800 Subject: [PATCH] Migrate wiki documentation to GitHub --- CHANGELOG.md | 76 +++++++++++++++++++++++++++++++++ README.md | 21 ++++++++- docs/images/ssh-global-cfg.png | Bin 0 -> 17003 bytes docs/images/ssh-job-cfg.png | Bin 0 -> 18994 bytes docs/images/ssh-job-log.png | Bin 0 -> 10980 bytes pom.xml | 2 +- 6 files changed, 96 insertions(+), 3 deletions(-) create mode 100644 CHANGELOG.md create mode 100644 docs/images/ssh-global-cfg.png create mode 100644 docs/images/ssh-job-cfg.png create mode 100644 docs/images/ssh-job-log.png diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..54ae72f --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,76 @@ +### Changelog + +##### Version 2.6.1 (April 13 2018) + +- \[JENKINS-19973\] Option to hide ssh command in log + +##### Version 2.6 (April 7 2018) + +- \[JENKINS-46172\] Handle NPE when not all fields are specified & save only properly configured sites +- \[JENKINS-10128\] Set build to UNSTABLE when no SSH site is configured instead of NPE +- Add Jenkinsfile to plugin +- bump ssh-credentials dependency to 1.12 +- Add ajax validation to essential ssh host fields + +INFO: the "Add Credentials" button for SSH Site **don't work** in recent Jenkins 2.x versions - this will be fixed in upcoming 3.0 version. +(major version since plugin will have to migrate it's configuration to new format) + +##### Version 2.5 (July 8 2017) + +- \[JENKINS-21436\] Integrate with the SSH Credentials Plugin; previous credentials are migrated +- \[JENKINS-23231\] Add timeout parameter +- \[JENKINS-24913\] Don't show sensitive build variables in console log +- \[JENKINS-12191\] Restore resolving hostname from environment variables +- \[JENKINS-12191\] Support build variables (substitution variables) during command execution (env variables are exported before the script) +- \[JENKINS-24402\] Updated to latest version of JSch (0.1.54) to support modern algorithms +- Pull JSch dependency via Jenkins hosted jsch-plugin to use recommended way of getting common dependencies in Jenkins +- Set Jenkins 1.609.3 as the oldest supported version +- Show warning for missing parameters during ajax form validation +- Fix security issue + +Due to added integration with SSH Credentials Plugin, **this version might NOT be fully compatibile** with previous version. Sorry! + +Please **back up your `org.jvnet.hudson.plugins.SSHBuildWrapper.xml` before upgrading to version 2.5.** + +##### Version 2.4 (Jan 08 2014) + +- ability to use variables when defining SSH host +- miscellaneous fixes +- added keep alive interval + +##### Version 2.3 (Sep 24 2012) + +- fixed [JENKINS-15265](https://issues.jenkins-ci.org/browse/JENKINS-15265) + +##### Version 2.2 (Sep 03 2012) + +- fixed[JENKINS-15005](https://issues.jenkins-ci.org/browse/JENKINS-15005) and [JENKINS-14420](https://issues.jenkins-ci.org/browse/JENKINS-14420) + +##### Version 2.1 (Aug 14 2012) + +- configurable pty mode + +##### Version 2.0 (Jun 26, 2012) + +- support multiple sites on the same machine + +##### Version 1.6 (Jun 24, 2012) + +- support parameterized builds + +##### Version 1.3 (Jun 25, 2011) + +- Run script on build step. +- Fixed [JENKINS-9240](https://issues.jenkins-ci.org/browse/JENKINS-9240) + +##### Version 1.2 (Feb 17, 2011) + +- Fix to avoid executing empty script. + +##### Version 1.1 (Jun 2, 2010) + +- Removed isEmpty() for 1.5 comp; better input areas + +##### Version 1.0 (Feb 24, 2010) + +- Initial release. diff --git a/README.md b/README.md index eb384ff..9d7a5e0 100644 --- a/README.md +++ b/README.md @@ -3,12 +3,29 @@ ## About This is a Jenkins plugin that allows for you to run operations with SSH. (I.e. commands, file management etc) +This plugin was derived from the very cool [SCP Plugin](https://plugins.jenkins.io/scp/). ## Usage Documentation and Examples -More documentation available on the Jenkins wiki: +First go to the global configuration page and add a SSH site. -https://wiki.jenkins-ci.org/display/JENKINS/SSH+Plugin +![](docs/images/ssh-global-cfg.png) + +For your job select a configured site and enter the shell commands that should be executed before and after the build. + +![](docs/images/ssh-job-cfg.png) + +Log will look like this. + +![](docs/images/ssh-job-log.png) + +## TODO + +- i18n +- we also need a post deploy script (ask some of the core team how to do that) +- investigate stop behavior of Hudson jobs using the ssh Plugin +- use same sites as scp plugin (plugin dependencies???) +- ... ## Building this project diff --git a/docs/images/ssh-global-cfg.png b/docs/images/ssh-global-cfg.png new file mode 100644 index 0000000000000000000000000000000000000000..08e27b999e2b1ff775310e62d84e927b58d80571 GIT binary patch literal 17003 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 literal 0 HcmV?d00001 diff --git a/docs/images/ssh-job-log.png b/docs/images/ssh-job-log.png new file mode 100644 index 0000000000000000000000000000000000000000..1709cdf76bf4a31dd116d8f52d6685615b3de783 GIT binary patch literal 10980 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 literal 0 HcmV?d00001 diff --git a/pom.xml b/pom.xml index 93cdef0..0d170e7 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ hpi Jenkins SSH plugin Execute shell scripts on remote host using ssh (pre and post build). Based on the cool scp plugin. - http://wiki.jenkins-ci.org/display/JENKINS/SSH+plugin + https://github.com/jenkinsci/${project.artifactId}-plugin