Child pages
  • Bamboo SFTP Publisher
Skip to end of metadata
Go to start of metadata

Name

Bamboo SFTP Publisher

Version

0.9.1

Product Versions

1.0.3

Author(s)

Brock Janiczak, Belinda Ivkovic

Homepage

 

Price

Free

License

BSD

JavaDocs

 

IssueTracking

 

Download JAR

BambooSFTPPublisher-0.9.1.jar

Download Source

BambooSFTPPublisher-src-0.9.1.zip

Description/Features

SFTP Publisher is a plugin that allows you specify a remote host and destination to copy artifacts to upon a successful build.

Usage

  1. Install the plugin into your Bamboo lib directory.
  2. Select your build and edit the Post Actions under the Configuration tab.
  3. Enter the remote host details under "Where should the artifacts be copied to?"
  4. After each successful build, artifacts will be copied to the destination directory on the remote host.

Login details to the remote host will be validated upon saving the details on the Post Actions tab.

Configuration Details

The following fields need to be configured -

  • Remote Host - The name of the remote host.
  • Remote Port - The port to connect to the remote host on. This field is optional and will default to port 22.
  • Username - The username to connect to the remote host.
  • Password - The password or passphrase. If a key file is specified, this field is the passphrase for it otherwise it is the password for the given username.
  • Key File - The location of the keyfile. This field is required only if you are using key based authentication. The file must be in openssh format.
  • Destination - The directory on the remote host to copy artifiacts to.

Version History

  • 0.9 - Initial Release.
  • 0.9.1 - Key file validation bug fix.

Screenshots

11 Comments

  1. Nice idea! I installed this and it integrates well. Unfortunately, I had to uninstall it, since we could not create a new plan - it was complaining about an invalid key file. We had just left everything blank as the plan did not have anything to export.

    1. Hi Bob,
      Thanks for the feedback.
      I have uploaded a new version which will allow for a blank configuration. Please try it out when you get time and let me know how it goes.
      Regards,
      Belinda

      1. Works! Thanks. Appreciate the quick turnaround.

  2. I'm getting this error when trying to use this potentially very useful plugin:

    2007-09-24 18:01:28,275 ERROR [BAM::All builds::BuildComp] [SFTPBuildPublisher] Unable to publish build
    com.jcraft.jsch.JSchException: java.io.FileNotFoundException:
        at com.jcraft.jsch.IdentityFile.newInstance(IdentityFile.java:98)
        at com.jcraft.jsch.JSch.addIdentity(JSch.java:196)
        at com.jcraft.jsch.JSch.addIdentity(JSch.java:190)
        at com.atlassian.bamboo.scp.SFTPBuildPublisher.run(SFTPBuildPublisher.java:77)
        at com.atlassian.bamboo.event.BuildCompleteNotifier.performCustomBuildCompleteAction(BuildCompleteNotifier.java:119)
        at com.atlassian.bamboo.event.BuildCompleteNotifier.doTask(BuildCompleteNotifier.java:80)
        at com.atlassian.bamboo.container.BambooTask.run(BambooTask.java:37)
        at com.atlassian.bamboo.build.pipeline.concurrent.NamedThreadFactory$1.run(NamedThreadFactory.java:31)
        at edu.emory.mathcs.backport.java.util.concurrent.helpers.ThreadHelpers$1.run(ThreadHelpers.java:34)
        at java.lang.Thread.run(Unknown Source)
    Caused by: java.io.FileNotFoundException:
        at java.io.FileInputStream.open(Native Method)
        at java.io.FileInputStream.<init>(Unknown Source)
        at java.io.FileInputStream.<init>(Unknown Source)
        at com.jcraft.jsch.IdentityFile.newInstance(IdentityFile.java:83)
        ... 9 more

    I'm not sure if this is looking for my keyfile...? But I'm trying to run this without the keyfile (that field left blank) and am just putting in a user and password.

    One other thing that might be odd is that we have some builds (this one included) that have several artifacts that are covered by one ANT style filepattern, and the artifacts may not be in the same directory. For instance, we have something like this for the copy pattern:

     
    */Blah.msi

    But we may have artifacts several directories below the root, and several of them in different directories too. Does this plugin know enough to get them all, or do I have to set up a 1:1 ration between artifact entries and actual files?

    -Matt

    1. Same here in our installation.
      I changed the source code to not just check private key to be not null but also empty:

       if (privateKeyFile != null && privateKeyFile.length() > 0) {
         sch.addIdentity(privateKeyFile, password);
       }
      
  3. S

    Some additional feature requests:

    • Provide a filter for the artifacts to prevent copying of JavaDoc etc.
    • Support multiple servers.
    • Support pre and post commands (perhaps via SSH) to stop/start services.
  4. We've successfully installed the plugin and configured a pre-existing build to export artifacts to an sftp server; however, when I look at Bamboo's logs, it would appear that the plugin is not running. Is there any explanation for this behavior?

  5. The plug-in descriptor for this plug-in incorrectly names Atlassian as the plug-in vendor.

    Can you please correct this in the next release of the plug-in? Thanks.

  6. We are using bamboo 2.0.  I had the Bamboo SFTP plugin installed but couldn't see the SFTP feature in the build Configuration Tab.

    However,I could see the plugin listed under checked System-> System Information->Enabled Plugin. I looked through the bamboo log but couldn't

    find any exceptions to do with this plugin. Also checked all the libraries this plugin depends on (ant, log4j, commons-configuration, junit, atlassian-bamboo-web) and

    they are all there.  Thanks! 

    1. Hi Tyler,

      Bamboo 2.0 brought a number of changes to Bamboo's plug-in API, and unfortunately, this plug-in is yet to be updated.

      As the author is distributing the plug-in under a BSD license, you are able to update and redistribute the plug-in yourself, if you have the time and skills.

      You can find some information on changes to the plug-in API here.

      Regards,

      Adrian Hempel
      Bamboo Developer
      ATLASSIAN

  7. I wanted to try this plugin on our current Bamboo server 2.2 so I made minimal changes until it was compatible with 2.2. I then found out it wasn't really fit for our requirements.

    I have attached my version to this page in case you want to have a look.