Как опубликовать артефакты сборки CruiseControl LATEST на статический URL - PullRequest
0 голосов
/ 11 ноября 2009

У меня есть мультимодульный Java-проект Maven, в котором я хочу создать сайт MVN и javadocs, а CruiseControl публикует последние ежедневные сборки в настроенном статическом месте.

Проблема в том, что CruiseControl artifactPublisher позволяет вам указать каталог dest, но он помечен как самое позднее время последней сборки. Я хочу иметь возможность публикации в месте, которое переопределяется при каждой сборке, например:

http://cc-buildserver/cruisecontrol/artifacts/gameplatform-documentation/  

Документация artifactPublisher :

dir - скопирует все файлы с этого каталог

dest - родительский каталог актуальных каталог назначения; фактический имя каталога назначения будет построить метку времени.

подкаталог - подкаталог под уникальным (timestamp) каталог для хранения артефакты

Например, если у меня есть проект CruiseControl с именем gameplatform-documentation, и я настраиваю свой artifactPublisher следующим образом:

<project name="gameplatform-documentation" forceOnly="true" requireModification="false" forceBuildNewProject="false" buildafterfailed="false">
...
    <schedule>
        <composite time="2300">
            <maven2 
                 mvnhome="${mvn.home}" 
         pomfile="${dev.root}/gameplatform-parent/pom.xml"
                goal="site" />

        </composite>
    </schedule>

    <publishers>
        <artifactspublisher
            dir="${dev.root}/gameplatform-parent/target/site" 
    dest="artifacts/gameplatform-documentation" />
    </publishers>
</project>

Я получаю свой сгенерированный Maven сайт и javadocs в разных каталогах каждой сборки:

http://cc-buildserver/cruisecontrol/cruisecontrol/artifacts/gameplatform-documentation/20091110130202/

Может быть, мне нужно использовать пользовательский AntPublisher или FTPPublisher и создать другой веб-сервер для размещения опубликованных документов. Я также мог бы использовать средства контроля версий CC и проверить документацию на нашем сервере SVN и использовать ее для обслуживания документации.

Как это можно сделать?

1 Ответ

1 голос
/ 03 декабря 2009

В итоге мы использовали плагин Maven для развертывания сайта , чтобы публиковать артефакты документации через SCP (используя настройки SSHD-сервера cygwin на сервере Windows) в папку "артефакта" нашего сервера CruiseControl:

<distributionManagement>
    <site>
        <id>dev.website</id>
        <url>scp://user@buildserver/cygdrive/c/Users/user/servers/cruisecontrol-project-2.8.3/artifacts/documentation/project/gameplatform</url> 
    </site>
</distributionManagement> 

Тогда мы сможем получить доступ к ночной документации к ним, посетив:

http://buildserver:8081/cruisecontrol/artifacts/documentation/project/gameplatform
...