views:

570

answers:

3

Are there any Continuous Integration tools that will run on Google App Engine?

+1  A: 

At the end of the day, an app engine app is just python code or java code. You can use your favorite CI tool to build your app, run unit tests, and deploy to whatever test server you want, either local using the dev server, or to the cloud if you really wanted to... What extra features are you looking for?

EDIT: Now that I understand the question is about CI that runs on app engine, not CI for app engine, my answer above is pretty much useless.

Peter Recore
I'm not sure how I could make the question more specific. A CI that runs on Google App Engine. IE something-ci.appspot.com give me my Hudson or something. Google App Engine has very specific constants, such as it can't write to the file system and such so Hudson obviously can't be run on app engine even tho it is java code.
Tiggerizzy
gotcha. my answer is useless then.
Peter Recore
+2  A: 

I don't think so. The Google App Engine secure sandbox environment doesn't seem compatible with the requirements of all CI engine I know (writing to the file system is a basic need of any engine to checkout sources, to compile them, to log during tests, to build reports, etc).

As I said in a comment, Amazon EC2 is appropriate for running a CI engine and I know many enterprise using it for this purpose. You should really look into this direction.

Pascal Thivent
A: 

Directly with app engine I dont think this is possible. My understanding of how AppEngine works (which I admit is fairly limited) indicates that it would be possible to have a series of services that work together to accomplish this. Basically you need a service which is a proxy for your storage system, and one which is a proxy for your build service (both of these cannot be on AppEngine). AppEngine can then monitor these services performing the relevant copy and build metaphors.

If the thing being built is in itself an application you could automatically deploy it, and then use the AppEngine service to connect to it and test it.

I dont think it would be more effective than having a local CI instance, and it woul, at least in the short term be more complicated to setup and maintain.

Again, my current understanding of AppEngine is limited to only what I have used it for with Google Wave and a few other small projects.

GrayWizardx