How can I deploy artifacts from a Maven build to the SourceForge File Release System?

Brian Matthews :

I am using SourceForge for some Open Source projects and I want to automate the deployment of releases to the SourceForge File Release System. I use Maven for my builds and the standard SFTP deployment mechanism doesn't seem to work unless you do some manual preparation work. I have come across some old postings on other forums suggesting that the only approach is to write a Wagon specifically for SourceForge.

Has anybody had any recent experience with this?

Rich Seller :

I'm not able to test this to confirm, but I believe it is possible without writing any plugins.

You can deploy to SourceForge using SCP, and the maven-deploy-plugin can be configured to use SCP so it should work. You can also deploy your site to SourceForge via SCP.

You would configure the SourceForge server in your settings.xml to use a "combined" username with a comma separator. With these credentials:

SourceForge username: foo
SourceForge user password: secret
SourceForge project name: bar
Path: /home/frs/project/P/PR/PROJECT_UNIX_NAME/ 
    - Substitute your project UNIX name data for /P/PR/PROJECT_UNIX_NAME 

The server element would look like this:

<server>
  <id>sourceforge</id>
  <username>foo,bar</username>
  <password>secret</password>
</server>

And the distributionManagement section in your POM would look like this:

<!-- Enabling the use of FTP -->
<distributionManagement>
  <repository>
    <id>ssh-repository</id>
    <url>
scpexe://frs.sourceforge.net:/home/frs/project/P/PR/PROJECT_UNIX_NAME</url>
  </repository>
</distributionManagement>

Finally declare that ssh-external is to be used:

<build>
  <extensions>
    <extension>
      <groupId>org.apache.maven.wagon</groupId>
       <artifactId>wagon-ssh-external</artifactId>
       <version>1.0-alpha-5</version>
    </extension>
  </extensions>
</build>

If this doesn't work, you may be able to use the recommended approach in the site reference above, i.e. create a shell on shell.sourceforge.net with your username and project group:

ssh -t <username>,<project name>@shell.sf.net create

Then use shell.sourceforge.net (instead of web.sourceforge.net) in your site URL in the diestributionManagement section:

<url>scp://shell.sourceforge.net/home/frs/project/P/PR/PROJECT_UNIX_NAME/</url>

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

Maven: how can I deploy two artifacts with the release plugin?

How can I deploy a release with multiple artifacts

How can I deploy spark artifacts to a custom maven repository?

How to copy artifacts from NPM build to .NET Core deploy in TSFS

How to read file from file system during Maven build of module

Can MSFT Azure pipeline connect to Bitbucket as source control system then build and deploy the build artifacts to on-premise server?

How can I deploy (create .ipa) iphone app using 'cordova build ios --release'?

How do I download a file from SourceForge with wget?

How can I exclude a file from deploy in gcloud?

How to deploy only zip artifacts in maven

How can I get Maven to stop attempting to check for updates for artifacts from a certain group from maven-central-repo?

How to deploy artifacts to Maven Repository (JFrog artifactory) through Jenkins Build Offline?

How can I inspect the file system of a failed `docker build`?

How come maven build fails but I can successfully deploy my application to Glassfish and run it?

How can I download Maven artifacts within a plugin?

How can I get Git to ignore/drop files I have deleted or that are only file-system artifacts (ending in ~)?

How to deploy an artifact from group of artifacts to jfrog artifactory using jenkins post build action

How can I build and deploy a .NET Core worker service to on-premise environment from Azure DevOps

How can I download the build file from github actions?

How can I copy artifacts from executed jobs with declarative pipeline?

How can I determine File System from Windows?

Where can I find build artifacts in Travis?

How can I determine if my React Native app is a debug or release build from JavaScript code?

How can I upgrade from current release to next daily build? (15.10 > 16.04 daily)

How do I download from SourceForge with wget?

Azure DevOps: Error importing Maven artifact from Azure Artifacts into Release

How can I force a gradle build to re-download a SNAPSHOT plugin from Maven repository on every build

Maven Release: How to skip deploy step?

How can I build WAR with Maven in Eclipse?

TOP Ranking

HotTag

Archive