README.md in engineyard-hudson-0.1.0 vs README.md in engineyard-hudson-0.2.0

- old
+ new

@@ -8,44 +8,72 @@ ## Installation gem install engineyard-hudson +You might also like the `hudson` CLI to play with your Hudson CI from the command line: + + gem install hudson + ## Assumptions -It is assumed you are familiar with the `engineyard` CLI gem. +It is assumed you are familiar with the [engineyard](http://github.com/engineyard/engineyard) CLI gem. You **do not** need to be familiar with custom chef recipes. Just follow the simple commands. Easy peasy. -## Warning +## Warning (aka TODO list) -In the very first release of `engineyard-hudson`, there is no support for authentication/authorization of Hudson CI. +In the very first release of `engineyard-hudson`: -## Hosting Hudson CI on Engine Yard AppCloud +* there is no support for authentication/authorization of Hudson CI. +* git URLs are converted to public `git://` urls on Hudson; until deploy key support is added +* no mail server configured for Hudson CI build failure notifications -Instructions *coming soon*. +That is, its really only useful - at this very "alpha" instant in time - to Open Source Rails projects. But that's just me being brutally honest. -Hosting Hudson CI on Engine Yard AppCloud is optional. It can be hosted anywhere. You need the following information about your Hudson CI: +## Hosting Hudson CI -* Hudson CI host (& port) +Hosting Hudson CI on Engine Yard AppCloud is optional; yet delightfully simple. Hudson CI can be hosted anywhere. + +### Hosting on Engine Yard AppCloud + +Just a few steps and you will have your own Hudson CI: + + $ mkdir hudson_server + $ cd hudson_server + $ ey-hudson server . --plugins 'googleanalytics,chucknorris' + + Finally: + * edit cookbooks/hudson_master/attributes/default.rb as necessary. + * run: ey recipes upload # use --environment(-e) & --account(-c) + * run: ey recipes apply # to select environment + * Boot your environment if not already booted. + +Do those steps and you're done! Now, you either visit your Hudson CI site or use `hudson list` to see the status of your projects being tested. + +### Hosting elsewhere + +You need the following information about your Hudson CI: + +* Hudson CI public host (& port) * Hudson CI's user's public key (probably at /home/hudson/.ssh/id_rsa.pub) * Hudson CI's user's private key path (probably /home/hudson/.ssh/id_rsa) ## Running your tests in Hudson against Engine Yard AppCloud -After a couple manual steps, you will have your applications tests running. +Just a few steps and you will have your applications' tests running. $ cd /my/project $ ey-hudson install . Finally: * edit cookbooks/hudson_slave/attributes/default.rb as necessary. * run: ey recipes upload # use --environment(-e) & --account(-c) * run: ey recipes apply # to select environment * Boot your environment if not already booted. -Done! Either visit your Hudson CI site or use `hudson list` to see the status of your projects being tested. +Do those steps and you're done! Now, you either visit your Hudson CI site or use `hudson list` to see the status of your projects being tested. ## Automatically triggering job builds In Hudson CI, a "job" is one of your projects. Each time it runs your tests, it is called a "build". @@ -57,10 +85,14 @@ * Click "Service Hooks" * Click "Post-Receive URLs" * Enter the URL `http://HUDSON-CI-URL/job/APP-NAME/build` * Click "Update Settings" +And here's a picture. + +<img src="http://img.skitch.com/20101031-d5wrc7hysrahihqr9k53xgxi1t.png" style="width: 100%;"> + You can also use the "Test Hook" link to test this is wired up correctly. ### CLI Using the `hudson` CLI: @@ -70,5 +102,33 @@ ### Curl You are triggering the build via a GET call to an URL endpoint. So you can also use `curl`: curl http://HUDSON-CI-URL/job/APP-NAME/build + +## Contributions + +* Dr Nic Williams +* Bo Jeanes - initial chef recipes for Hudson server + slave + +## License + +Copyright (c) 2010 Dr Nic Williams, Engine Yard + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file