2008-09-26 45 views
9

Hiện tại chúng tôi đang sử dụng tập lệnh cấu hình và thiết lập được cuộn bằng tay và tập lệnh tích hợp liên tục được cuộn bằng tay để xây dựng và triển khai ứng dụng của chúng tôi. Tôi đang xem xét chính thức hóa điều này một chút với hệ thống của bên thứ ba được thiết kế cho những mục đích này.Sự khác nhau giữa Phing và PHPUnderControl là gì?

Tôi đã xem xét Phing trước đây, và tôi hiểu rằng về cơ bản nó giống như Ant. Tuy nhiên, kinh nghiệm Ant của tôi có phần hạn chế để không giúp tôi nhiều. (Hầu hết công việc Java tôi đã thực hiện chỉ được triển khai dưới dạng tệp jar).

Tôi đã xem xét Kiểm soát hành trình trước đó và tôi hiểu rằng phpUnderControl là một trình cắm thêm cho CC. Nhưng, Phing nói nó cũng làm việc với CC. Vì vậy, tôi không rõ ràng về sự chồng chéo ở đây. Tôi có cần cả Phing và phpUnderControl để làm việc với CruiseControl, hoặc là họ có cùng nhau không?

Những gì tôi cần chính xác là cái gì đó có thể:

  • Kiểm tra nguồn từ SVN
  • Cài đặt cơ sở dữ liệu từ SQL tập tin
  • Tạo một file cấu hình địa phương từ một loạt các mẫu và một tập tin này
  • Chạy tất cả các bài kiểm tra đơn vị của chúng tôi (hiện tại là ST, nhưng dễ chuyển đổi sang PHPUnit) và gửi email đến nhóm phát triển nếu có bất kỳ bài kiểm tra nào (với dấu vết ngăn xếp)
  • Tạo AP Tôi tài liệu cho các ứng dụng và đặt nó ở đâu đó
  • Chạy báo cáo bảo hiểm thử nghiệm

Bây giờ, chúng tôi có chỉ là về tất cả điều này trong một hình thức này hay cách khác. Nhưng, thật tuyệt khi có tất cả tự động và được nhóm lại với nhau trong một quy trình.

Trả lời

8

phing là khá nhiều kiến ​​được viết bằng PHP, trong đó phpUnderControl thêm hỗ trợ cho các dự án PHP vào CruiseControl và sử dụng phing hoặc ant trên backend để phân tích cú pháp tệp build.xml và chạy lệnh.

Tôi vừa thiết lập CruiseControl và phpUnderControl và nó hoạt động rất tốt. Nó kiểm tra SVN của tôi, chạy nó thông qua phpDocumentor, PHP_CodeSniffer, và PHPUnit bất cứ khi nào chúng ta làm một kiểm tra. Vì tất cả đều dựa trên tệp build.xml bạn có thể chạy bất kỳ phần mềm nào bạn muốn thông qua nó.

+0

Bạn không muốn đưa ra ví dụ về điều đó? :) –

+0

Tôi muốn, nhưng tôi không có tập tin xây dựng của tôi nữa: P Nhiều người đang xem xét sử dụng Jenkins tại thời điểm này: http://jenkins-php.org/ – dragonmantank

+0

Tuyệt vời - không chắc chắn nếu tôi nên hỏi điều này ở đây, nhưng có lẽ bạn có thể đặt một chỉnh sửa hoặc thông tin khác trên Jenkins so với PhpUnderControl so với Phing? –

2

Tôi chắc chắn nhiều người sẽ nói điều này bởi thời gian tôi đã gõ này nhưng ...

Tôi biết nó không phải là PHP nhưng chúng tôi đang tìm kiếm Capistrano chỉ công việc cho loại điều. Nó thực sự là một phần mềm tuyệt vời.

2

Chúng tôi đã sử dụng Phing và chi phí để thiết lập nó rất thấp; nó thực sự dễ dàng để tìm hiểu ngay cả khi bạn không biết ANT. Tôi đã có kinh nghiệm rất xấu với CruiseControl (bất ổn - đi xuống một cách ngẫu nhiên) - vì vậy tôi thích sự đơn giản của Phing. Plus, nó dễ dàng mở rộng bằng cách sử dụng PHP (trong trường hợp bạn có một nhiệm vụ tùy chỉnh mà họ không hỗ trợ ra khỏi hộp).

+0

Tôi cũng thích nó. –

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