2009-12-11 40 views
11

Có công cụ Tích hợp liên tục nào sẽ chạy trên Google App Engine không?Công cụ tích hợp liên tục chạy trên AppEngine

+1

Nền tảng, java hoặc python nào? Bạn đang tìm kiếm một công cụ mà bạn có thể sử dụng để liên tục kiểm tra dự án công cụ ứng dụng của bạn, hoặc bạn đang tìm kiếm một công cụ CI sẽ chạy trên công cụ ứng dụng, bạn có thể sử dụng công cụ này để kiểm tra cái gì khác? –

+1

Tôi hiểu câu hỏi là "một công cụ CI sẽ chạy trên công cụ ứng dụng"? Nếu đây là những gì bạn đang tìm kiếm, trong kinh nghiệm của tôi EC2 sẽ phù hợp hơn cho điều đó. –

+0

@Pascal Cảm ơn lời khuyên của bạn. Tôi đã hy vọng được tự do, tôi sẽ xem xét chi phí của EC2 cho các dự án nhỏ. –

Trả lời

3

Tôi không nghĩ vậy. Môi trường hộp cát an toàn của Google App Engine dường như không tương thích với các yêu cầu của tất cả các công cụ CI mà tôi biết (ghi vào hệ thống tệp là nhu cầu cơ bản của bất kỳ công cụ nào đến nguồn thanh toán, để biên dịch chúng, để ghi nhật ký trong quá trình thử nghiệm. , v.v.)

Như tôi đã nói trong một nhận xét, Amazon EC2 thích hợp để chạy một công cụ CI và tôi biết nhiều doanh nghiệp sử dụng nó cho mục đích này. Bạn thực sự nên nhìn vào hướng này.

2

Vào cuối ngày, ứng dụng công cụ ứng dụng chỉ là mã python hoặc mã java. Bạn có thể sử dụng công cụ CI yêu thích của bạn để xây dựng ứng dụng, chạy thử nghiệm đơn vị và triển khai cho bất kỳ máy chủ thử nghiệm nào bạn muốn, địa phương bằng máy chủ dev hoặc tới đám mây nếu bạn thực sự muốn ... cho?

EDIT: Bây giờ tôi hiểu câu hỏi là về CI chạy trên công cụ ứng dụng, không CI cho công cụ ứng dụng, câu trả lời của tôi ở trên là khá nhiều vô ích.

+0

Tôi không chắc làm thế nào tôi có thể làm cho câu hỏi cụ thể hơn. Một CI chạy trên Google App Engine. IE something-ci.appspot.com cung cấp cho tôi Hudson của tôi hoặc một cái gì đó. Máy ứng dụng của Google có các hằng số rất cụ thể, chẳng hạn như nó không thể ghi vào hệ thống tệp và vì vậy Hudson rõ ràng không thể chạy trên công cụ ứng dụng ngay cả khi nó là mã java. –

+0

. câu trả lời của tôi là vô dụng rồi. –

0

Trực tiếp với công cụ ứng dụng Tôi không nghĩ điều này là có thể. Sự hiểu biết của tôi về cách AppEngine hoạt động (mà tôi thừa nhận là khá hạn chế) cho thấy rằng nó sẽ có thể có một loạt các dịch vụ làm việc cùng nhau để thực hiện điều này. Về cơ bản, bạn cần một dịch vụ là proxy cho hệ thống lưu trữ của bạn và một dịch vụ proxy cho dịch vụ xây dựng của bạn (cả hai dịch vụ này đều không thể có trên AppEngine). AppEngine sau đó có thể theo dõi các dịch vụ này thực hiện các bản sao có liên quan và xây dựng phép ẩn dụ.

Nếu nội dung đang được xây dựng là một ứng dụng bạn có thể tự động triển khai nó, sau đó sử dụng dịch vụ AppEngine để kết nối với nó và kiểm tra nó.

Tôi không nghĩ rằng nó sẽ hiệu quả hơn việc có một cá thể CI cục bộ và ít nhất là trong thời gian ngắn sẽ phức tạp hơn để thiết lập và duy trì.

Một lần nữa, sự hiểu biết hiện tại của tôi về AppEngine chỉ giới hạn ở những gì tôi đã sử dụng nó với Google Wave và một vài dự án nhỏ khác.

1

Có, bạn có thể sử dụng tính năng chia tách lưu lượng truy cập [hiện thử nghiệm], với tùy chọn cookie, để gửi khách hàng mới sang phiên bản mới.

https://developers.google.com/appengine/docs/adminconsole/trafficsplitting

Để lại phiên bản hiện tại của bạn tại chỗ, triển khai phiên bản mới của bạn để dàn dựng, kiểm tra nó, và khi bạn muốn tất cả khách hàng mới để truy cập phiên bản, chỉ có một bộ lọc yêu cầu mà lập một ngắn cookie chuyển hướng sống cho tất cả khách hàng mới.

Miễn là bạn kiểm tra cookie này trước khi bạn đặt, tất cả khách hàng hiện tại sẽ thấy phiên bản cũ và tất cả khách hàng mới đều có phiên bản mới.

Nếu bạn giữ giá trị cookie gần đây nhất trong các ngày hết hạn sử dụng, bạn có thể triển khai tích hợp liên tục với một bộ lọc yêu cầu duy nhất; chỉ cần đặt datastore singleton vào cookie tách lưu lượng truy cập mới của bạn, và bạn tốt để đi.

+0

Ngoài ra, bây giờ bạn có thể kích hoạt triển khai thông qua git push, chạy CI trong môi trường appengine dễ dàng hơn bao giờ hết !! Tôi tin rằng bản phát hành công cụ tính toán mới cũng sẽ tự động chạy thử nghiệm maven của bạn trước khi triển khai phiên bản mới./win/https://cloud.google.com/tools/repo/push-to-deploy – Ajax

3

Gần đây, Cloudbees mang fonctionnality này:

Google App Engine hiện người dùng có thể chạy Jenkins tích hợp liên tục trong đám mây bằng cách đăng ký tại appengine.cloudbees.com. Jenkins sẽ giám sát mã nguồn của các dự án của bạn cho bất kỳ thay đổi nào, chạy các bản dựng và thử nghiệm cần thiết và thông báo cho nhóm của bạn về bất kỳ vấn đề nào - hoặc tự động triển khai ứng dụng lên Google App Engine nếu mọi thứ đều tốt.

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