2012-02-23 24 views
6

Tôi đã xem qua một số lượng hợp lý các cuộc thảo luận này mà không thành công cho đến nay.Kết hợp các hiện vật trong TeamCity

quá trình xây dựng của chúng tôi (trên TeamCity 6.5.5) tạo hai thư mục, A và B.

Chúng tôi hiện đang nén thư mục B cho việc triển khai (đường dẫn artifact. \ B => B% build.number%. zip). Tuy nhiên, nó được quyết định rằng thư mục A nên được bao gồm như là một kho lưu trữ trong zip của B. Nghĩa là, sau khi xây dựng, B-2.0.0.zip nên hình như:

B-2.0.0.zip 
    file 1 
    ... 
    file n 
    A.zip 
     file a1 
     ... 
     file an 

Để thực hiện điều này, tôi đã thêm vào con đường tạo tác \ A => \ B \ A.zip trước sự cai trị zip hiện tại cho B, vì vậy con đường tạo tác của chúng tôi như sau:..

.\A => .\B\A.zip 
.\B => .\B-%build.number%.zip 

Tuy nhiên, trong khi A.zip được sản xuất (I có thể thấy nó trong thư mục B sau khi xây dựng), nó không được thêm vào kho lưu trữ B.zip. Tôi nhìn vào đầu ra xây dựng, và các đồ tạo tác được tạo theo thứ tự mong đợi.

Thành thật mà nói, tôi bị bối rối. Bất kỳ cái nhìn sâu sắc nào cũng sẽ được đánh giá cao và thực sự. Tôi có khả năng có thể sửa đổi kịch bản xây dựng để thực hiện điều này, nhưng tôi không muốn nếu có thể.

Xin cảm ơn trước.

Chỉnh sửa (2/24/12): Để nghiên cứu thêm, có vẻ như tôi đang gặp sự cố với A.zip được tạo dưới dạng tệp tạm thời và được chuyển đến sau khi tất cả tạo phẩm được tạo.

Vì vậy, tôi đã cố gắng sắp xếp lại đường dẫn vật của tôi như sau:

.\B => .\B-%build.number%.zip 
.\A => .\B-%build.number%.zip\A.zip 

Tôi nghĩ điều này sẽ chèn A.zip vào B.zip. Thay vì một kho lưu trữ lồng nhau, nó tạo ra một thư mục có tên là A.zip. Tôi chỉ nhìn vào một giới hạn của TeamCity không thể làm tổ lưu trữ?

+0

Tôi muốn một cái gì đó tương tự và không tìm được giải pháp nào khác ngoài việc sử dụng tập lệnh xây dựng để tạo một thư mục với cấu trúc mà tôi muốn . Chúc may mắn –

+0

Nó đang tìm kiếm nhiều hơn và nhiều hơn như giải pháp, Mike. Cảm ơn. Điều cần biết không chỉ là tôi.;) – TimW

Trả lời

2

Bạn nói đúng, TeamCity không hỗ trợ các chương trình đóng gói phức tạp cho các hiện vật. Con đường để đi thực sự là để thêm một bước xây dựng để chuẩn bị các tập tin được xuất bản như hiện vật.

+0

Đó là một sự xấu hổ, nhưng không hoàn toàn bất ngờ. Cảm ơn, Yaegor! – TimW

2

Một tùy chọn có thể là sử dụng mesage Dịch vụ của Teamcity để tạo lưu trữ đầu tiên trước khi hoàn tất xây dựng.

##teamcity[publishArtifacts '.\A => .\B\A.Zip'] 

Sau đó có đội bóng thành phố trả lại việc xây dựng tạo tác trong bước bao bì artifact trong việc xây dựng cấu hình:

Cái gì như:

%env.TEAMCITY_DATA_PATH%\system\artifacts\%env.TEAMCITY_PROJECT_NAME%\%env.TEAMCITY_BUILDCONF_NAME%\%env.BUILD_NUMBER%\B\A.zip => .\B-%build.number%.zip 
.\B => .\B-%build.number%.zip 
7

Ít nhất là với phiên bản 9, bây giờ có thể để thêm nhiều tệp vào cùng một tệp zip bằng cách thực hiện điều gì đó tương tự trong trường "đường dẫn tạo tác":

.\A => myArchive.zip 
.\B => myArchive.zip 

Bạn không chắc chắn, nếu các thư mục con/lưu trữ phụ có thể được tạo nhanh chóng ...

+2

Mẹo siêu liên quan. Trường hợp sử dụng của tôi là chính xác điều này; Tôi xác nhận rằng điều này hoạt động trong TeamCity 9.X. – Form

+1

Các thư mục con có thể được tạo theo cách này: +: */*. Css => report.zip!/Css / – iFred

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