Как очистить определенный каталог перед каждой сборкой в ​​jenkins? - PullRequest
5 голосов
/ 07 марта 2012

Я использую Дженкинс с Хадсон кли через Java.Я хочу очистить определенный каталог перед каждой сборкой.Любая идея ?Я предоставил команду maven clean package , которая очищает целевую папку для каждой сборки.То, что я хочу, я хочу очистить какой-то другой каталог перед каждой сборкой.Как это сделать?

В jenkins я указал URL-адрес проекта maven , который будет загружать файлы в рабочую область при сборке.Когда я даю команду очистки пакета , она очищает целевую папку каждый раз при сборке. есть еще одна папка, параллельная целевой папке .я хочу очистить эту папку, которая находится внутри проекта maven .

Ответы [ 5 ]

6 голосов
/ 07 марта 2012

Если вы используете версию 1.433 или выше, используйте Pre Steps / Post Steps в разделе конфигурации проекта, расположенном выше и ниже раздела Build соответственно.

В противном случае установите плагин M2 Extra Steps .

Вы можете настроить maven-clean-plugin для выполнения очистки.

Если вы не можете изменить свой pom.xml, как указано ниже, вы также можете использовать этот плагин .

4 голосов
/ 06 декабря 2012

Вы можете использовать Плагин очистки рабочего пространства , чтобы сделать именно это.

3 голосов
/ 05 июля 2012

Я не уверен, правильно ли я понял вопрос, но если вы используете репозиторий для опроса изменений, и перед каждой новой сборкой вы извлекаете все файлы проекта из репозитория, вы можете просто использовать один из вариантов под названием: «Эмуляция». очистить извлечение, сначала удалив ... "Таким образом, все папки должны быть удалены перед каждой сборкой.

Если это не тот случай, самый простой ответ, который приходит мне в голову, - это просто написать сценарий CMD, который просто выполняет команду DEL для нежелательных файлов / каталогов и запускает его как предварительный шаг или после шага как командную команду Windows.

3 голосов
/ 03 июля 2012

Вы можете добавить JOB для очистки нужного каталога перед каждой сборкой. Я использовал ANT для этого, понятия не имею о MAVEN. Это также не зависит от машины.

0 голосов
/ 28 августа 2012

В pom.xml добавьте тег профиля, как показано ниже

    <profiles>
        <profile>
            <id>ci</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <artifactId>maven-clean-plugin</artifactId>
                        <version>2.5</version>
                        <executions>
                            <execution>
<id>default-clean</id>
<phase>pre-clean</phase>
<goals>
    <goal>clean</goal>
</goals>
                            </execution>
                        </executions>
                        <configuration>
                            <filesets xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<fileset>
    <directory>do_not_checkin/build</directory>
    <includes>
        <include>**/*</include>
                              </includes>
    <followSymlinks>false</followSymlinks>
                            </fileset>
                          </filesets>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

При выполнении запятой просто выполните команду maven mvn -Pci clean.

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

Мы можем упаковать как mvn -Pci clean package.

После очистки каталога выполняется фаза пакета.

...