어떻게 배포할 수 있는 유물에서 메이븐 구축하 SourceForge 파일 릴리스 시스템은?
-
08-06-2019 - |
문제
내가 사용하 SourceForge 에 대한 몇 가지 오픈 소스 프로젝트하고 싶어의 배포를 자동화 릴리스 SourceForge 파일 릴리스 시스템입니다.내가 사용하는 Maven 한 구조 및 표준 SFTP 메커니즘을 배포하지 않는 것이 작동하지 않는 한 당신이 일부를 설명서 준비를 작동합니다.나는 어디서도 만나볼 수 없는 오래된 게시물에 토론을 제안하는 유일한 방법을 쓰는 마차를 위해 특별히 SourceForge.
는 사람이었다 모든 최근의 경험을 가진 이?
해결책
나를 테스트 할 수 있을 확인하는,그러나 나는 그것을 믿는다는 것은 가능하지 않습니다.
수 배포하 SourceForge 를 사용하여 SCP, 고 maven 배포하는 플러그인을 구성할 수 있을 사용 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>
다른 팁
나는 업로드하는 예 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>
주요 포인트 다운로드를 위해 사용하는 것이 마차-http-sourceforge maven plugin-에서 참조하십시오: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>
그것처럼 보이는 내가 이것을 쓰는 자신입니다.
이 숫자의 시간,나는 마지막으로 작동하도록--과 sftp 지 scp.이 작업에서 유닉 상자(또는 Mac)--나에 대한 확실하지 않 sftp 클라이언트에 대한 Windoze.내가 사용하 mvn 버전 2.2.0 고 나는 생각하지 않는 어떤 특별한 플러그인이 설치됩니다.이 배포하는 다양한 mvn 패키지 파일 섹션 내 프로젝트의 페이지입니다.
을 변경해야 합 다음과 같은 설정에서 얻을 작동하려면:
- 사용자--대체로 귀하의 사용자 이름 sourceforce
- 비밀--대체과 당신의 비밀번호
- ormlite--으로 대체 프로젝트 이름
- /o/또는/--바꾸기와 함께 첫 번째 문자와 제 2 문의 프로젝트 이름
내$HOME/.m2/settings.xml 파일 내가 다음에 대한 SF server:
<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>
분명히/릴리스/스냅샷 디렉토리의 접미사를 변경할 수 있습에 따라 파일의 계층 구조입니다.
는 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 지만,당신을 만들어야 셸을 사용하기 전에로
ssh -t timp,webmacro@shell.sourceforge.net create
이것이 정말로 설정하지 않은 것으로는 어렵습니다.첫번째로 나 mvn 사이트:배포하는 작업에 다음의 지침서 이 sourceforge 사이트.기본적으로 시작할 sourceforge 쉘과
ssh -t user,project@shell.sourceforge.net create
을 만들 것입니다 쉘에서 자신의 끝으로 폴더를 장착하는 프로젝트에서 경로 같은(에 따라 프로젝트 이름):
/home/groups/c/ch/chex4j/
에서는 쉘에 sourceforge 서버 폴더를 생성한 내 repo 프로젝트에서 아파치 폴더에"htdocs"과
mkdir /home/groups/c/ch/chex4j/htdocs/maven2
나 settings.xml 나는 설정의 사용자 이름과 비밀번호하는 포탄 서버 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 섹션 설정을 서버로 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>
가 저장소 항목에 대한 하나 mvn 배포를 명령하고는 사이트 항목에 대한 mvn 사이트:배포하는 명령입니다.그때는 모든 내가 할 일은 시작한 쉘에 연결하고 서버의 측면에서 다음 나의 현지 측면 그냥 실행:
mvn deploy
는 업로드는 항아리,치과 소스와 같은 위에 내 sourceforge 프로젝트를 웹 사이트입니다.는 경우에 당신을 공격하려고/maven2 에서 폴더의 프로젝트 웹사이트 sourceforge 친절하게 말할 디렉토리 목록은 기본적으로하고 그것을 해결하는 방법.이렇게하려면 서버에 포탄을 만듭니다.htaccess 파일에서 당신의 htdocs/maven2 에 포함된 폴더에 다음 아파치 옵션
Options +Indexes
다음 빙고,당신은 maven repo 처럼 보이는:
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/
SCP URL 가 작동합니다.그러나 사용하지 않는":후"서버 이름입니다.MVN 하려고 다음을 읽으로 시험의 정수(포트 번호).
하지 않아 터널을 설정으로 simbo1905 았다.
Maven SourceForge 플러그인을 작동하지 않 Maven2.또한 내가 이것을 믿는 플러그인을 사용하는 FTP 는 더 이상 지원되지 않습니다.
내가 찾는 CruiseControl 할 수 있는 업로드 자료를 SFEE 고 또한 작품으로 Maven 및 maven2 에