Tôi đã bỏ lỡ thẻ nhà xuất bản, nhưng thêm nó không khắc phục được bất cứ điều gì.
Thực tiễn tốt nhất để gọi nant và nunit từ ccnet là gì? Hiện tại tôi có thiết lập này mà tôi không thích:
ccnet với tác vụ nant và tệp xây dựng nant sử dụng tác vụ msbuild và nunit2 để biên dịch và kiểm tra.
Khó để tìm một ví dụ điển hình về ccnet, nant và nunit thực sự giải thích cách tốt nhất để sử dụng chúng cùng nhau. Tôi đang chạy ccnet như một dịch vụ, điều đó có tạo nên sự khác biệt không? Tôi đang cố gắng để giữ cho nó đơn giản như tôi có thể, đây là khoảng những gì tôi đang làm:
ccnet.config:
<tasks>
<nant>
<baseDirectory>D:\ccnet\builds\checkout\path</baseDirectory>
<buildFile>go.build</buildFile>
<targetList>
<target>test</target>
</targetList>
</nant>
</tasks>
<publishers>
<merge>
<files>
<file>D:\ccnet\builds\artifacts\path1\nant-results.xml</file>
<file>D:\ccnet\builds\checkout\path\name.dll-results.xml</file>
</files>
</merge>
<xmllogger />
</publishers>
Và trong go.build:
<target name="build" depends="clean">
<msbuild project="name.sln">
</msbuild>
</target>
<target name="test" depends="build">
<nunit2>
<formatter type="Xml" usefile="false" />
<test assemblyname="Tests\path\name.dll" />
</nunit2>
</target>
Nếu tôi kiểm tra nhật ký xây dựng từ bảng điều khiển, thì tôi có thể thấy rằng nó có đầu ra xml từ cả nant và nunit. Nhưng điều này không được hiển thị trên chính bảng điều khiển, tại sao điều đó lại là? Điều này đang trở nên rất bực bội ...
Tôi đã thử hai loại phương pháp khác nhau: Cách tiếp cận ccnet tự động ma thuật (chỉ cần đặt usefile = "false" và để cho ccnet làm việc của nó). Điều này đã không hoạt động.
Tôi cũng đã thử phương pháp thủ công, đặt usefile = "true" và sau đó hợp nhất các tệp nant-results.xml và name.dll-results.xml (không có ký tự đại diện, chỉ sử dụng đường dẫn chính xác đến tệp mà tôi có ba kiểm tra.)
Nó không có ý nghĩa gì cả ở tất cả
Nguồn
2010-01-06 21:05:11
Nếu bạn gọi MsBuild từ NAnt, thì tại sao bạn không chỉ thả NAnt và sử dụng MSBuild trực tiếp? Bạn có thể gọi MSBuild trực tiếp từ cc.net. –
Tôi có thể làm sai, đó là lý do :) Ý tưởng là có một tập lệnh nant có thể chạy từ ccnet và cũng có thể chạy cùng một tập lệnh như tập lệnh đăng ký trước (để đảm bảo không có ai kiểm tra trong công cụ phá vỡ bản dựng). Vẫn không giải thích tại sao không có đầu ra nào được hiển thị trong bảng điều khiển. –
Theo như tôi thấy, trang này ở đây: nói rằng đầu ra Nant sẽ được hiển thị theo mặc định (theo phần "Đầu ra NAnt trong Xml "). Nhưng nó không nói bất cứ điều gì về những gì cần làm khi đầu ra nant không được hiển thị. Cùng một url cũng có một phần "NUnit và NAnt", dường như nói rằng nếu bạn sử dụng thuộc tính usefile = "false" của nunit2, thì lại xml sẽ tự động được phân tích cú pháp. Nhưng điều này cũng không xảy ra với tôi. –