当前位置: 首页 > 面试题库 >

如何将工件从Maven构建部署到SourceForge文件发布系统?

姬歌者
2023-03-14
问题内容

我正在将SourceForge用于某些开放源代码项目,并且希望将发布的部署自动部署到SourceForge文件发布系统。我使用Maven进行构建,除非您进行一些手动准备工作,否则标准的SFTP部署机制似乎无法正常工作。我在其他论坛上遇到过一些老帖子,建议唯一的方法是专门为SourceForge编写Wagon。

最近有人对此有经验吗?


问题答案:

我无法通过测试来确认,但我相信无需编写任何插件即可实现。

您可以使用SCP部署到SourceForge,并且可以将maven-
deploy-plugin配置为使用SCP,因此它应该可以工作。您也可以通过SCP
将站点部署到SourceForge。

您可以在settings.xml中配置SourceForge服务器,以使用带有逗号分隔符的“组合”用户名。使用以下凭据:

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

服务器元素如下所示:

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

POM中的distributionManagement部分如下所示:

<!-- 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>

最后声明要使用ssh-external:

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

如果这不起作用,则可以使用上面的站点参考中推荐的方法,即使用用户名和项目组在shell.sourceforge.net上创建一个shell:

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

然后在diestributionManagement部分的站点URL中使用shell.sourceforge.net(而不是web.sourceforge.net):

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


 类似资料:
  • 问题内容: 我的java / maven项目“ testproject”与我的jenkins和nexus回购挂钩: 我的pom.xml看起来像: 在我的詹金斯设置中,我有: 正如预期的那样,jenkins将工件上传到Nexus。查看jenkins build的控制台输出,如下所示: 问题是 : 鉴于我在pom.xml中指定的版本是 jenkins为何将testproject- 0.1-201205

  • null 现在,当我使用mvn从Jenkins内部运行maven release插件时,我仍然得到以下信息: 不显示错误 按预期创建SVN标记 然后在部署期间,它失败,出现上述错误 正如我提到的,快照部署经常发生并且没有错误,因此settings.xml、distributionManagement和Nexus权限似乎都是正常的。 我能够手动访问 我已经用和进行了检查,似乎一切正常 有什么想法吗?

  • 我更喜欢在Maven中执行此操作,因为我们的Nexus设置和凭据已经在环境中,不需要在命令行上手动传递。为此使用Nexus UI不是一个可行的选择,因为这需要成为标准构建-部署-测试过程的一部分,对于几十个应用程序来说,这可能每天都会发生很多次。

  • 我们有一个Jenkins Maven构建运行在一个Windows从机上,它在每次提交时都运行Maven包。我正在尝试使用升级的构建插件来将升级的构建部署到nexus发布存储库中。 我设置了“升级生成时...”要手动批准和“将工件部署到Maven存储库”的操作,请将存储库URL设置为“http://example.com:8081/nexus/content/repositories/release

  • 在将文件部署到Wildfly时,应将文件复制到何处? 我看不到文件在哪里: 似乎要进行爆炸式部署: 在运行期间,启用的war文件由tmp目录中的vfs分解。这些文件将在停止/重新启动/禁用时删除。 参考内容位于内容数据目录中,用于重新创建tmp文件。

  • Netbeans 项目,是否可以自动将 deploy(.war) 文件构建到域的自动部署文件夹中,而不是在 dist 文件夹中? 因此,将项目.war文件自动部署到本地Glassfish服务器将非常有用。