2010-05-31 2 views
13

Использование кода google svn в качестве основного хранилища maven прост.Разверните сайт сгенерированный maven в Google Code svn?

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

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

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

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

+0

Если вы столкнулись с этой проблемой, пожалуйста, голосовать за этот вопрос. Я так отчаянно ищу для этого soluton :-) – xamde

ответ

-2

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

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

+0

VOTE DOWN. Привет, я ищу способ развернуть сайт Maven *, то есть тонны и тонны генерируемых html-файлов, которые должны отображаться на общедоступном веб-сервере. Запуск репозитория maven поверх репозитория svn в коде google отлично. – xamde

+0

Я думаю, вы уже пробовали следующие советы по настройке, верно? http://code.google.com/p/maven-googlecode-plugin/wiki/MavenSiteDeployOnSVN –

+0

А, я попробую это. Благодарю. Тем не менее, похоже, это также предлагает ужасно медленный поставщик wagon-svn. Это просто слишком медленно для тысяч файлов. – xamde

0

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

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

+0

Уверенный, что поможет --- если SVN SVG будет запускать rsync-сервер, который AFAIK это не делает. AFAIK no svn server делает. Проблема на самом деле - это скорость. Кажется, Maven открывает новое соединение для каждого отдельного файла или делает хотя бы один webdav-put. Прямо сейчас, я использую сервер из своего университета, где у меня есть ssh-доступ и вы можете запускать unzip на сервере. Затем Maven выполняет scp, регистрирует грех и запускает распаковку. Очень приятно, быстро и удобно. Для Google SVN я считаю, что смарт-по протоколу SVN вместо протокола WebDAV должен работать как-то, но я никогда не получал этого для запуска. – xamde

0

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

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

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

+0

Не упоминает развертывание сайта Maven – orien

1

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

I. Создать папку м2 с высвобождает и snaphots подпапок

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 file с настройками для maven-site-plugin)

VI. mvn clean deploy

Example of such pom

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

1

Вот самая простая конфигурация, которая работает для меня в моих проектах Google кода, которые имеют репозиторий Maven на код СВН Google:

<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 пароль под рукой ...
Успехов ...

Смежные вопросы