2012-03-07 24 views
5

Tôi đang sử dụng jenkins với hudson cli thông qua java. Tôi muốn xóa sạch một thư mục cụ thể trước mỗi lần xây dựng. Bất kỳ ý tưởng ? Tôi đã cung cấp lệnh maven gói sạch thư mục đích sạch cho mỗi bản dựng. Những gì tôi muốn là tôi muốn làm sạch một số thư mục khác trước khi xây dựng. Làm như thế nào ?Làm thế nào để làm sạch một thư mục cụ thể trước khi mỗi xây dựng bắt đầu trong jenkins?

Trong Jenkins i quy định URL của dự án maven, nào sẽ file tải về không gian làm việc khi xây dựng. Khi tôi cung cấp cho lệnh gói sạch, nó xóa mục tiêu thư mục mỗi lần khi xây dựng. Có một thư mục khác song song với thư mục đích. tôi muốn rõ ràng rằng thư mục nằm trong dự án maven.

+1

Thư mục nào - liên quan trực tiếp đến công trình xây dựng (không gian làm việc, hiện vật, v.v.), hoàn toàn không có liên quan hoặc bán liên quan (tức là các thông số trong bản dựng, build_id, v.v.)? –

+0

tôi đã thêm thông tin. Cảm ơn. – Muthu

+0

Giải pháp của @ BrandonV có phù hợp với bạn không? Nếu không - hãy làm rõ tại sao không. –

Trả lời

0

Trong pom.xml thêm thẻ thông tin như dưới đây

<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> 

Trong khi thực hiện commad chỉ thực hiện lệnh maven mvn -Pci clean.

Sử dụng plugin sạch maven để xóa một thư mục cụ thể, trước khi mỗi bản dựng bắt đầu.

Chúng tôi có thể đóng gói như mvn -Pci clean package.

Sau khi làm sạch thư mục, pha gói được thực hiện.

6

Nếu bạn đang chạy phiên bản 1,433 hoặc cao hơn, sử dụng Pre bước/bài viết Các bước trong phần cấu hình dự án, nằm ở trên và dưới Build phần, tương ứng.

Nếu không, hãy cài đặt M2 Extra Steps Plugin.

Bạn có thể định cấu hình maven-clean-plugin để xử lý việc lau chùi.

Nếu bạn không thể sửa đổi tệp pom.xml của mình, như được nêu bên dưới, bạn cũng có thể sử dụng số plugin này.

+0

Tôi đã thử nó. Tôi không biết làm thế nào để làm điều này? Thư mục khác nhau của dự án Maven phải được xóa mỗi lần trước khi bắt đầu xây dựng. – Muthu

+1

Bạn đã thử gì? Bạn không thể chỉ sử dụng lệnh batch/shell? Vui lòng không bỏ đánh dấu câu trả lời mà không giải thích lý do. – bvulaj

+0

Trong dự án maven của tôi trong khi xây dựng được tạo ra thư mục đích được xóa và tái tạo lại. Trước khi mỗi build bắt đầu trong jenkins, tôi muốn xóa/xóa một thư mục. Vì vậy, trong Presteps, tôi đã sử dụng lệnh shell để xóa một thư mục. Nó hoạt động tốt cho máy Mac, nó không hoạt động cho máy windows. Tôi muốn xóa/xóa một thư mục không có mã phụ thuộc máy. Còn cách nào khác không ? – Muthu

3

Bạn có thể thêm JOB để xóa thư mục bạn muốn trước mỗi lần tạo. Tôi đã sử dụng ANT cho điều này, không có ý tưởng về MAVEN. Điều này cũng sẽ không phụ thuộc vào máy.

+0

Chăm sóc để xây dựng trên bài đăng cũ này? – OK999

3

Tôi không chắc liệu tôi có hiểu đúng câu hỏi hay không, nhưng nếu bạn đang sử dụng kho để thăm dò ý kiến ​​thay đổi và trước mỗi lần xây dựng mới, bạn sẽ kéo tất cả các tệp dự án từ repo, bạn chỉ có thể sử dụng một trong các tùy chọn được gọi là: " Thi đua thanh toán sạch bằng cách xóa đầu tiên ... "Bằng cách này, tất cả các thư mục sẽ bị xóa trước mỗi bản dựng.

Nếu không phải như vậy, câu trả lời đơn giản nhất là viết kịch bản lệnh CMD chỉ đơn giản là lệnh DEL trên các tệp/thư mục không mong muốn và chạy nó như bước trước hoặc bước đăng .

Các vấn đề liên quan