Как можно развернуть артефакты из Maven построить в файловой системе выпуска SourceForge?

голоса
11

Я использую SourceForge для некоторых проектов Open Source, и я хочу, чтобы автоматизировать развертывание релизов в систему выпуска файлов SourceForge. Я использую Maven для моей сборки и стандартный механизм развертывания SFTP, кажется, не работает, если вы не будете делать некоторую ручную работу по подготовке. Я встречал некоторых старых проводок на других форумах, предполагающих, что единственный подход заключается в написании Вагон специально для SourceForge.

Кто-нибудь имел никакого недавний опыт с этим?

Задан 19/08/2008 в 17:11
источник пользователем
На других языках...                            


9 ответов

голоса
9

Я не в состоянии проверить это подтвердить, но я считаю, что это возможно без написания каких-либо плагинов.

Вы можете развернуть на SourceForge с помощью SCP , и Maven-Deploy-модуль может быть сконфигурирован для использования SCP поэтому он должен работать. Вы также можете разместить свой сайт на SourceForge через SCP.

Вы должны настроить сервер SourceForge в вашем settings.xml использовать «комбинированный» имя пользователя с запятой разделителем. С этими учетными данными:

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>

И раздел distributionManagement в вашем POM будет выглядеть следующим образом:

<!-- 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-внешний должен быть использован:

<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 с вашим именем пользователя и проектной группой:

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

Затем используйте shell.sourceforge.net (вместо web.sourceforge.net) в свой сайт URL в разделе diestributionManagement:

<url>scp://shell.sourceforge.net/home/frs/project/P/PR/PROJECT_UNIX_NAME/</url>
Ответил 19/09/2009 d 22:33
источник пользователем

голоса
3

Я загрузил пример sourceforge.net по адресу: http://sf-mvn-plugins.sourceforge.net/example-1jar-thinlet/

Вы можете проверить это с помощью SVN - так что вы можете увидеть, как использовать плагины для загрузки и загрузки и sourceforge.net области файловой системы и веб-сайт.

Основные моменты, чтобы загрузить это использовать SFTP:

Добавить аналогичный код в ваш pom.xml

<distributionManagement>
                <!-- use the following if you're not using a snapshot version. -->
                <repository>
                    <id>sourceforge-sf-mvn-plugins</id>
                    <name>FRS Area</name>
                    <uniqueVersion>false</uniqueVersion>
                    <url>sftp://web.sourceforge.net/home/frs/project/s/sf/sf-mvn-plugins/m2-repo</url>
                </repository>
                <site>
                    <id>sourceforge-sf-mvn-plugins</id>
                    <name>Web Area</name>
                    <url>
                        sftp://web.sourceforge.net/home/groups/s/sf/sf-mvn-plugins/htdocs/${artifactId}
                    </url>
                </site>
</distributionManagement>

Добавить аналогичный код settings.xml

   <server>
      <id>sourceforge-sf-mvn-plugins-svn</id>
      <username>tmichel,sf-mvn-plugins</username>
      <password>secret</password>
    </server>

    <server>
      <id>sourceforge-sf-mvn-plugins</id>
      <username>user,project</username>
      <password>secret</password>
    </server>

Главное для загрузки заключается в использовании вагона-клиент-SourceForge Maven плагина - пожалуйста, смотрите по адресу: sf-mvn-plugins.sourceforge.net/wagon-http-sourceforge/FAQ.html

Пожалуйста, добавьте следующий код в pom.xml

    <repositories>
        <repository>
            <id>sourceforge-svn</id>
            <name>SF Maven Plugin SVN Repository</name>
            <url>http://sf-mvn-plugins.svn.sourceforge.net/svnroot/sf-mvn-plugins/_m2-repo/trunk</url>
        </repository>
    </repositories>


    <pluginRepositories>
        <pluginRepository>
            <id>sourceforge-frs</id>
            <name>SF Maven Plugin Repository</name>
            <url>http://sourceforge.net/projects/sf-mvn-plugins/files/m2-repo</url>
        </pluginRepository>
    </pluginRepositories>

    <build>
    <extensions>
        <extension>
            <groupId>net.sf.maven.plugins</groupId>
            <artifactId>wagon-http-sourceforge</artifactId>
            <version>0.4</version>
        </extension>
    </extensions>
   :
   </build>
Ответил 25/02/2010 d 21:45
источник пользователем

голоса
2

Похоже, что я буду иметь, чтобы написать это сам.

https://sourceforge.net/projects/wagon-sf/

Ответил 06/09/2008 d 04:03
источник пользователем

голоса
1

SCP URL делает работу. Но не используйте «:» после имени сервера. МВН пытается прочитать следующий тест , как целое число (номер порта).

Вам не нужно устанавливать туннели, как simbo1905 сделал.

Ответил 09/12/2010 d 20:52
источник пользователем

голоса
1

Это на самом деле не оказаться , что трудно. Сначала у меня был МВНЫМ сайт: развертывание работает , следуя инструкции на этом сайте SourceForge . В основном вы начинаете SourceForge оболочку с

ssh -t user,project@shell.sourceforge.net create

Это позволит создать оболочку в их конце с папкой, установленной на ваш проект на пути, такие как (в зависимости от названия проектов):

/home/groups/c/ch/chex4j/

В этой оболочке I на сервере SourceForge я создал папку для моего репо под папкой апача проекта «HTDOCS» с

mkdir /home/groups/c/ch/chex4j/htdocs/maven2

В моем settings.xml я установить имя пользователя и пароль к этому серверу оболочки так, что специалист может войти в систему:

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                      http://maven.apache.org/xsd/settings-1.0.0.xsd/"> 
  <servers>
        <server>
            <id>chex4j.sf.net</id>
            <username>me,myproject</username>
            <password>password</password>
            <filePermissions>775</filePermissions>
            <directoryPermissions>775</directoryPermissions>
        </server>
    </servers>
</settings>

В pom.xml вам просто нужна ваша установка distibutionManagement раздел для имени сервера по идентификатору, который вы установили пароль для в файле настроек:

<distributionManagement>
    <site>
        <id>chex4j.sf.net</id>
        <url>scp://shell.sourceforge.net/home/groups/c/ch/chex4j/htdocs/
        </url>
    </site>
    <repository>
        <id>chex4j.sf.net</id>
        <name>SourceForge shell repo</name>
        <url>scp://shell.sourceforge.net/home/groups/c/ch/chex4j/htdocs/maven2</url>
    </repository>
</distributionManagement>

Там запись хранилища является один для MVN развертывания команды и запись на сайте для сайта МВН: команду развертывания. Тогда все, что нужно сделать, это запустить соединение оболочки довести до стороны сервера, то на моей локальной машине просто запустите:

mvn deploy

который загружает банку, ПОМ и источники и т.п. на моем сайте SourceForge проектов. Если вы пытаетесь попасть папку в / Maven2 на вашем веб-сайте проекта SourceForge любезно сообщить вам, что листинг каталога отключена по умолчанию, и как это исправить. Для этого на корпусе сервера создать файл .htaccess в вашем HTDOCS / папку Maven2, содержащую следующие параметры APACHE

Options +Indexes

Тогда лото, у вас есть Maven репо, который выглядит как:

http://chex4j.sourceforge.net/maven2/net/sf/chex4j/chex4j-core/1.0.0/

Ваш sf.net оболочка он выключается после нескольких часов не ресурсов захватывающих огромного количества; так что вы запустите «SSH -t ... создать», когда вы хотите разместить сайт или ваши сборки артефактов.

Вы можете просматривать весь Maven код проекта под SourceForge, чтобы увидеть мои работы установки:

http://chex4j.svn.sourceforge.net/viewvc/chex4j/branches/1.0.x/chex4j-core/

Ответил 05/11/2010 d 22:12
источник пользователем

голоса
1

Где ТИМП = пользователь и WebMacro = проект

УПП URL не работает:

scp://timp,webmacro@shell.sourceforge.net:/home/groups/w/we/webmacro/htdocs/maven2/

SFTP URL работы:

 sftp://timp,webmacro@web.sourceforge.net:/home/groups/w/we/webmacro/htdocs/maven2

или артефакты выпуска проекта:

sftp://timp,webmacro@web.sourceforge.net:/home/frs/project/w/we/webmacro/releases

УПП будет работать shell.sourceforge.net, но вы должны создать оболочку перед использованием с

ssh -t timp,webmacro@shell.sourceforge.net create
Ответил 25/02/2010 d 01:57
источник пользователем

голоса
1

После попытки этого несколько раз, я , наконец , получил его на работу - с SFTP не УПП. Это должно работать из коробки Unix (или Mac) - Я не уверен , SFTP клиентов для Windoze. Я использую МВН версии 2.2.0 , и я не думаю , что у меня есть какие - либо специальные плагины установлены. Это развертывает различные пакеты МВН в разделе Файлы моей странице проекта.

Вам нужно изменить следующее в настройках, чтобы заставить его работать:

  • Пользователь - заменить с SourceForce пользователя
  • Секрет - заменить свой пароль
  • ormlite - заменить с именем проекта
  • / О / или / - заменить первый символ и первые 2 символов вашего имени проекта

В моем $ файле HOME / .m2 / settings.xml У меня есть следующий сервера SF:

<server>
  <id>sourceforge</id>
  <password>secret</password>
  <filePermissions>775</filePermissions>
  <directoryPermissions>775</directoryPermissions>
</server>

Я не указать имя пользователя в файле settings.xml, потому что он должен быть имя пользователя, проект, и я хочу, чтобы развернуть несколько пакетов SF. Затем, в моем файле pom.xml для пакета ormlite У меня есть следующие:

<distributionManagement>
 <repository>
  <id>sourceforge</id>
  <name>SourceForge</name>
  <url>sftp://user,ormlite@frs.sourceforge.net:/home/frs/project/o/or/ormlite/releases
  </url>
 </repository>
 <snapshotRepository>
  <id>sourceforge</id>
  <name>SourceForge</name>
  <url>sftp://user,ormlite@frs.sourceforge.net:/home/frs/project/o/or/ormlite/snapshots
  </url>
 </snapshotRepository>
</distributionManagement>

Очевидно, что / выпуски и / каталог снимки суффиксы могут быть изменены в зависимости от иерархии файлов.

Ответил 02/02/2010 d 21:41
источник пользователем

голоса
0

Я обнаружил , что CruiseControl может загрузить релизы РВЭП , а также работает с Maven и Maven2

Ответил 09/10/2008 d 13:27
источник пользователем

голоса
0

Maven SourceForge плагин не работает с Maven 2. Также я считаю, что это плагин использует FTP, который больше не поддерживается.

Ответил 20/08/2008 d 12:36
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more