

Using GitHub for Push-to-Deploy to Google App Engine - hashx
http://googlecloudplatform.blogspot.com/2014/04/using-github-for-push-to-deploy.html

======
timdorr
Is there any option to run a test suite before deploying? Otherwise this is
about as dangerous as fixing code on a production server.

~~~
djb_hackernews
You typically will only be pushing in to master once the changes have passed
through a CI system where you'd run all of your tests.

~~~
bacongobbler
Most people pass their code to a CI system _after_ it's been pushed. Run your
unit tests locally, push your code, run it through your CI system (integration
and unit tests, anything else), then push goldbits to production.

~~~
robinson-wall
Yes, but on a different branch. CI runs tests then merges to master (or
whatever branch triggers deployment) and pushes.

------
ImJasonH
I'm the tech lead for the GitHub integration, I'd be happy to answer any
questions.

~~~
alooPotato
Is it possible to do custom builds on the GCE instance thats building and
deploying your code? I.e. run scripts to minify JS, etc? Or is this something
you would do locally and make sure the artifacts were checked into git?

Similarly if you run full functional tests (selenium in a browser), can these
be started on the gce instance and be part of the "test" step?

~~~
ImJasonH
We discourage checking in artifacts (e.g., minified JS) into source control
because it defeats the purpose in a lot of ways.

Currently there is no support for custom build/test steps but the builds that
are done for Java apps are done using Jenkins so you can imagine that in the
fullness of time anything Jenkins supports would also be supported as a pre-
deploy step. I don't have any specific details though, as my work has been
focused on the GitHub integration.

~~~
alooPotato
Thanks for that!

------
matlock
at Codeship (I'm one of the founders) you can run your tests and use our app
engine integration to push whenever your tests pass. Setup takes a minute. let
me know if you have any questions at flo@codeship.io

