Bamboo SFTP Publisher

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

Labels

codegeist_2007_bamboo codegeist_2007_bamboo Delete
plugin plugin Delete
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. May 03, 2007

    Bob Swift says:

    Nice idea! I installed this and it integrates well. Unfortunately, I had to unin...

    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. May 04, 2007

      Belinda Ivkovic says:

      Hi Bob, Thanks for the feedback. I have uploaded a new version which will allow ...

      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. May 04, 2007

        Bob Swift says:

        Works! Thanks. Appreciate the quick turnaround.

        Works! Thanks. Appreciate the quick turnaround.

  2. Sep 24, 2007

    Matthew Janulewicz says:

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

    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. Nov 10, 2007

      Andi Kuhn says:

      Same here in our installation. I changed the source code to not just check priva...

      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. Nov 13, 2007

    Stephen says:

    Some additional feature requests: Provide a filter for the artifacts to prevent ...

    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. Feb 06

    Rene Barraza says:

    We've successfully installed the plugin and configured a preexisting build to ex...

    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. May 25

    Adrian Hempel [Atlassian] says:

    The plugin descriptor for this plugin incorrectly names Atlassian as the plugin ...

    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.