частная информация о сборке (db и т. д.) при создании релиза в maven? - PullRequest
0 голосов
/ 14 марта 2012

Как скрыть материал от моих разработчиков, когда я хочу выпустить?

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

Как мне указать их во время релиза maven таким образом, чтобы они не были видны никому другому?

Я думал, может быть, командная строка при сборке, установка какого-то свойства? Как это обычно делается в сценарии предприятия?

Ответы [ 2 ]

0 голосов
/ 14 марта 2012

Такие вещи, как пароли и т. Д., Относятся к файлу settings.xml, а не к файлу pom.xml.Кроме того, я бы предложил поместить такие вещи в файл settings.xml на сервере непрерывной интеграции, таком как Jenkins и т. Д. Подход, заключающийся в том, что это делается только на сборочной машине, предотвращает случайное создание релизов другими пользователями.

0 голосов
/ 14 марта 2012

Вы можете определить отдельные maven профили для ваших сред Dev, QA и Release, которые могут быть вызваны с помощью опции -P для команды mvn. Ниже приведен пример фрагмента профиля, который необходимо включить в pom.xml:

<properties>
    <hostEnv>QA</hostEnv>
    <hostDB>oracle</hostDB>
</properties>
<profiles>
    <profile>
        <id>${hostEnv}-${hostDB}</id>
        <activation>
            <activeByDefault>true</activeByDefault>
                            ...                 
        </activation>       
</profile>      
</profiles>
...