Разверните сайт, созданный maven, в Google Code svn?

Использование кода Google svn как основного хранилища maven легко.

Однако, используя mvn-сайт: эффективно развертывать код google сложно.

До сих пор я нашел только эти решения:

  • Разверните в локальный файл:///и используйте PERL script для удаления старого и копирования нового. Источник: http://www.mail-archive.com/[email protected]/msg107719.html
  • Используйте wagen-svn для развертывания. Это очень медленно (часы!) И не удаляет старые файлы
    • Плюс все неправильные типы mime

Я ищу решение, которое позволяет новым разработчикам в моих проектах проверять текущий источник и просто использовать его, не требуя установки PERL или изучения странных шагов для выполнения или ожидания часов.

Ответы

Ответ 1

Как развернуть артефакт maven в коде Google svn?

я. Создать папку m2 с подписями выпусков и снимков

II. Добавить зависимость от maven-svn-wagon

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-deploy-plugin</artifactId>
        <version>2.5</version>
        <dependencies>
            <dependency>
                <groupId>com.google.code.maven-svn-wagon</groupId>
                <artifactId>maven-svn-wagon</artifactId>
                <version>1.4</version>
            </dependency>
        </dependencies>
    </plugin>

III. Добавьте путь к релизу и хранилище снимков

    <distributionManagement>
        <repository>
            <id>project-name.googlecode.com</id>
            <url>svn:https://project-name.googlecode.com/svn/m2/releases</url>
        </repository>
        <snapshotRepository>
            <id>project-name.googlecode.com</id>
            <url>svn:https://project-name.googlecode.com/svn/m2/snapshots</url>
        </snapshotRepository>
    </distributionManagement>

IV. Не забудьте добавить в settings.xml свой auth. код

    <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>project-name.googlecode.com</id>
                <username>yourlogin</username>
                <password>yoursvpassword</password>
            </server>
        </servers>
    </settings>

V. Выполняйте то, что вы обычно делаете для создания сайта (вы можете рассмотреть возможность просмотра файла maven-svn-wagon pom с настройками для maven-сайта -plugin)

VI. mvn clean deploy

Пример такого pom

Кроме того, может быть полезно: maven-repository-for-google-code-project, maven svn wagon, MavenRepositoryInsideGoogleCode

Ответ 2

Вот простейшая конфигурация, которая работает для меня в моих проектах кода Google, у которых есть репозиторий maven в коде Google svn:

<build>
...
<extensions>
    <extension>
        <groupId>org.jvnet.wagon-svn</groupId>
        <artifactId>wagon-svn</artifactId>
        <version>1.9</version>
    </extension>
</extensions>
</build>

<distributionManagement>
<repository>
    <uniqueVersion>false</uniqueVersion>
    <id>googlecode</id>
    <url>svn:https://myproject.googlecode.com/svn/trunk/repo/</url>
</repository>
</distributionManagement>

Обратите внимание на URL:
Замените "myproject" на свое реальное имя проекта, а также убедитесь, что вы создали папку с именем "repo" (или что хотите) в этом месте, используя ваш svn-клиент.
Вы можете убедиться, просмотрев исходные тексты через свой сайт Google. После того, как ваш pom настроен, как указано выше, просто запустите "mvn deploy" .
Убедитесь, что у вас есть пароль для кода Google... Удачи...

Ответ 3

Было бы проще решить такое решение, как rsync? Вы действительно хотите зеркалировать локально генерируемое дерево HTML и т.д. На удаленный сервер.

В противном случае вы можете заставить Maven генерировать и публиковать сайт как часть непрерывной сборки интеграции, используя, например, Hudson. Не подходит, если вам нужно, чтобы сайт был доступен по всему миру - если вы не хотите открыть свой сервер Hudson.

Ответ 4

Я нашел хорошую инструкцию, чтобы делать то, что вы хотите, с хорошими отзывами:

http://babyloncandle.blogspot.com/2009/04/deploying-maven-artifacts-to-googlecode.html

Но я предлагаю использовать обычный простой HTTP-хостинг, потому что он намного быстрее, чем Google Code SVN. Ваш проект не тот, кому нужен сайт, а находится в Google Code.

Ответ 5

Я предлагаю вам использовать https://maven2-repository.dev.java.net/ для развертывания артефактов с открытым исходным кодом. Очень просто настроить и использовать.

Основная проблема заключается в том, что вам нужно создать учетную запись, но вы можете использовать ее только для развертывания артефактов и по-прежнему иметь исходный код в Google Code