Как зайти в Даркнет?!
25th January, 01:11
4
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
892
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
948
0
Очень долго работает Update запрос Oracle
27th January, 09:58
912
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
905
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
938
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1724
0
период по дням
25th October, 10:44
3955
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3720
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4613
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4380
0
Помогите пожалуйста решить задачи
24th November, 23:53
6084
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4350
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4395
0
Метода Крамера С++
23rd October, 11:55
4308
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2598
0
Как я могу развернуть артефакты из сборки Maven в систему выпуска файлов SourceForge?
Я использую SourceForge для некоторых проектов с открытым исходным кодом, и я хочу автоматизировать deployment выпусков в систему выпуска файлов SourceForge. Я использую Maven для своих сборок, и стандартный механизм SFTP deployment, похоже, не работает, если вы не выполняете ручную подготовительную работу. Я наткнулся на некоторые старые сообщения на других форумах, предполагающие, что единственный подход-это написать вагон специально для SourceForge.
У кого-нибудь был недавний опыт с этим?
Я не могу проверить это, чтобы подтвердить, но я считаю, что это возможно без написания каких-либо плагинов.
Вы можете развернуть в SourceForge с помощью SCP, а maven-deploy-plugin можно настроить на использование SCP, поэтому он должен работать. Вы также можете развернуть свой сайт в SourceForge через SCP.
Вы бы настроили сервер SourceForge в вашем settings.xml для использования имени пользователя "combined" с разделителем запятых. С этими верительными грамотами:
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-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 на 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>
Я загрузил пример в 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>
Главным моментом для загрузки является использование плагина wagon-http-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>
Это действительно оказалось не так уж и трудно. Во-первых, у меня был mvn site:deploy, работающий по инструкции на этом сайте sourceforge . В основном вы начинаете sourceforge shell с
ssh -t user,project@shell.sourceforge.net create
Это создаст shell в их конце с папкой, подключенной к вашему проекту по пути, такому как (в зависимости от имени вашего проекта):
/home/groups/c/ch/chex4j/
В том shell я на сервере sourceforge создал папку для моего РЕПО под проект apache папка "htdocs" с
mkdir /home/groups/c/ch/chex4j/htdocs/maven2
В моем settings.xml я установил имя пользователя и пароль для этого сервера shell, чтобы maven мог войти в систему:
<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 раздел setup назвал сервер по ID, для которого вы установили пароль в файле настроек:
<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>
Есть запись хранилища для команды deploy МВН и запись сайт для команды site:deploy МВН. Тогда все, что мне нужно сделать, это запустить соединение shell, чтобы вызвать серверную сторону, а затем на моей локальной стороне просто запустить:
mvn deploy
который загружает jar, pom и sources и тому подобное на мой сайт проектов sourceforge. Если вы попытаетесь попасть в папку /maven2 на вашем веб-сайте проекта sourceforge, пожалуйста, сообщите вам, что список каталогов по умолчанию отключен и как это исправить. Для этого на сервере shell вы создаете файл .htaccess в папке htdocs/maven2, содержащий следующие параметры apache
Options +Indexes
Тогда Бинго, у вас есть РЕПО maven, которое выглядит так:
http://chex4j.sourceforge.net/maven2/net/sf/chex4j/chex4j-core/1.0.0/
Ваш sf.net shell он выключается через несколько часов, чтобы не использовать ресурсы; поэтому вы запускаете "ssh -t ... create", когда хотите развернуть сайт или артефакты сборки.
Вы можете просмотреть весь мой код проекта maven в разделе sourceforge, чтобы увидеть мои рабочие настройки:
http://chex4j.svn.sourceforge.net/viewvc/chex4j/branches/1.0.x/chex4j-core /
После того, как я попробовал это несколько раз, я, наконец, получил его для работы-с sftp не scp. Это должно работать с коробкой unix (или Mac) - я не уверен насчет клиентов sftp для Windoze. Я использую mvn version 2.2.0 и не думаю, что у меня есть какие-то специальные плагины. При этом различные пакеты mvn развертываются в разделе Файлы страницы мой проект.
Вам нужно будет изменить следующие параметры в настройках, чтобы заставить его работать:
- пользователя-заменить на ваше имя пользователя sourceforce
- секрет - замените свой пароль
- ormlite -- заменить на имя вашего проекта
- /o/or/ -- заменить на первый символ и первые 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>
Очевидно, что суффиксы каталогов /releases и /snapshots могут быть изменены в зависимости от вашей файловой иерархии.
Где timp = пользователь и webmacro = проект
scp 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
scp будет работать до shell.sourceforge.net, но вы должны создать shell перед использованием с
ssh -t timp,webmacro@shell.sourceforge.net create