Есть ли способ указать один artifactsDirectory для всего сайта в CruiseControl.Net? - PullRequest
0 голосов
/ 10 июля 2009

Итак, насколько я могу судить, вы должны указывать артефакты и рабочий каталог для каждого проекта, каждый раз.

Я думаю, что я ищу способ переместить папку с именем проекта cc.net в другое место, откуда не был запущен сервер, чтобы я мог сделать что-то вроде:

<cruisecontrol xmlns:cb="urn:ccnet.config.builder">

    <!-- something like this should exist
    <baseDirectory>D:\Integration</baseDirectory>
    -->

    <project name="MyProject1">
        <workingDirectory>D:\Integration\working\MyProject1</workingDirectory>
        <artifactDirectory>D:\Integration\artifacts\MyProject1</artifactDirectory>
        <state type="state" directory="D:\Integration\state\MyProject1" />
    </project>

    <project name="MyProject2">
        <workingDirectory>D:\Integration\working\MyProject2</workingDirectory>
        <artifactDirectory>D:\Integration\artifacts\MyProject2</artifactDirectory>
        <state type="state" directory="D:\Integration\state\MyProject2" />
    </project>

</cruisecontrol>

Тогда мне не нужно будет указывать эти каталоги отдельно для каждого проекта. Они будут просто созданы под именем проекта в некоторой структуре папок по умолчанию на основе - т.е. D: \ Integration \ working \, являющейся основой для

Ответы [ 2 ]

2 голосов
/ 09 августа 2009

Когда-нибудь задумывались об использовании команд препроцессора?

<cruisecontrol xmlns:cb="urn:ccnet.config.builder">

    <cb:define name="project.template">
        <project name="$(project.name)">
            <workingDirectory>D:\Integration\working\$(project.name)</workingDirectory>
            <artifactDirectory>D:\Integration\artifacts\$(project.name)</artifactDirectory>
            <state type="state" directory="D:\Integration\state\$(project.name)" />
        </project>
    </cb:define>

    <cb:project.template project.name="MyProject1" />

    <cb:project.template project.name="MyProject2" />

</cruisecontrol>
1 голос
/ 11 июля 2009

ОК, теперь я вижу. Я не думаю, что в настоящее время есть способ сделать это, но было бы хорошей особенностью. Вы должны перейти в группу Google ccnet-devel и опубликовать там сообщение в качестве запроса функции. Я тоже мог бы использовать это. Хорошая идея.

...