Đây là ghi chú của tôi để nhận CruiseControl.net hoạt động với kho lưu trữ github (trên Windows). Tôi đang chạy msysgit 1.7.3.1 trên Windows 7. Tôi thiết lập ccnet để chạy như một dịch vụ.
Chiến lược tôi theo dõi là tạo tài khoản người dùng mà dịch vụ ccnet sẽ sử dụng. Bắt đầu bằng cách xây dựng để làm việc đăng nhập như người dùng đó chạy giao diện điều khiển hành trình. Sau khi hoạt động, tôi thiết lập tài khoản dịch vụ để chạy bằng tài khoản người dùng đó.
Trước tiên, hãy thiết lập khóa SSH cho người dùng đó giống như bạn làm với một người dùng khác. Tuy nhiên, đừng sử dụng cụm từ mật khẩu. Điều đó sẽ khiến ccnet hết thời gian chờ đợi khi người dùng nhập vào. (Quản lý khóa github ssh có trợ giúp, http://help.github.com/msysgit-key-setup/)
Bạn cũng sẽ cần sao chép bản sao ở đâu đó trong khi đăng nhập vào người dùng đó. Danh sách các máy chủ đáng tin cậy được lưu giữ, điều này đảm bảo máy chủ lưu trữ nằm trong danh sách đó (tôi nghĩ với các khóa .ssh của bạn). Nếu nó không có trong danh sách, cruisecontrol sẽ hết giờ khi git đợi bạn nói nếu bạn tin tưởng host.
Cấp cho người dùng quyền đọc/ghi vào thư mục nơi điều khiển hành trình được cài đặt. Cũng cho phép người dùng chỉnh sửa bất kỳ thư mục xây dựng nào bạn sử dụng, bất kỳ tài nguyên nào mà công trình của bạn có thể cần truy cập.
Tệp cấu hình điều khiển hành trình sẽ cần sử dụng khối git sourcecontrol.
Here của tài liệu trên khối đó. Dưới đây là một ví dụ:
<project name="NJasmine">
<sourcecontrol type="git">
<repository>git://github.com/fschwiet/DreamNJasmine.git</repository>
<branch>master</branch>
<autoGetSource>true</autoGetSource>
<executable>$(gitpath)</executable>
<tagOnSuccess>false</tagOnSuccess>
<commitBuildModifications>false</commitBuildModifications>
<commitUntrackedFiles>false</commitUntrackedFiles>
<workingDirectory>c:\build\NJasmine.git</workingDirectory>
<timeout>60000</timeout>
</sourcecontrol>
...
</project>
Bạn sẽ nhận thấy tôi sử dụng một biến cho gitPath, cách mà tôi chỉ xác định nó một lần.Tập tin cấu hình ccnet chính của tôi thực sự tham khảo ở trên, nó trông giống như dưới đây. Bằng cách tham khảo một tập tin cấu hình bên ngoài, tôi có thể giữ hầu hết cấu hình ccnet của tôi trong kiểm soát nguồn:
<!DOCTYPE cruisecontrol [
<!ENTITY njasmine SYSTEM "file:c:\src\njasmine\ccnet.config.xml">
]>
<cruisecontrol xmlns:cb="urn:ccnet.config.builder">
<cb:define gitpath="C:\Program Files (x86)\Git\cmd\git.cmd"/>
&njasmine;
</cruisecontrol>
Thông báo tôi thiết lập đường dẫn git để "C: \ Program Files (x86) \ Git \ cmd \ git.cmd "và không phải" C: \ Program Files (x86) \ Git \ bin \ git.exe ". Tôi không bao giờ có thể nhận bin \ git.exe để làm việc. Tôi cũng tìm thấy các url chỉ đọc trên một kho lưu trữ được chia sẻ dễ dàng hơn để có được làm việc sau đó đọc/ghi url, do đó, sử dụng những người chỉ đọc.
Cảm ơn vì điều này. – 0x1mason