This plugin uses JClouds to provide slave launching on most of the currently usable Cloud infrastructures.
Plugin Information
| No Information For This Plugin |
JClouds plugin provides option to launch Hudson slaves on any Cloud provider supported by JClouds (http://www.jclouds.org/documentation/reference/supported-providers), or on a cloud provider implementing one of the APIs JClouds supports.
Adding a new Cloud Provider
- Goto Hudson Configuration page by clicking on Manage menu or browsing to the URL http://localhost:8080/configure
- Scroll down to Cloud Section
- Click on the `Add a new cloud` pop-up menu button which should have an option - `Cloud (JClouds)`
- Click on `Cloud (JClouds)`
- Fill in the configuration options
- Profile : the name of the profile e.g, aws-slave-profile
- Provider Name: type first two characters and you'll get an auto-completed provider name (e.g. aws-ec2 or hpcloud-compute)
- End Point URL: if your provider API needs an endpoint configuration, add it here, otherwise leave it empty.
- Max Number of Instances: The maximum number of instances to run from this cloud at one time.
- Retention Time: How long, in minutes, to wait for a slave to remain idle before disconnecting and terminating it. Defaults to 30.
- Identity : your accessId
- Credential: your secret key
- RSA Private Key/Public Key: If you have a keypair, then just copy paste the public and private key parts, otherwise click on `Generate Key Pair` button.
- Click on `Test Connection` to validate the cloud settings.
- Add Cloud Instance Template by clicking on the Add button
- Fill in configuration options:
- Name : the name of the instance template e.g. aws-hudson-slave
- Number of Executors: How many executors each slave created from this template should have.
- Description: notes/comments for your reference.
-
- Image ID: Image ID to use for this slave template, such as EC2 AMIs. Note that EC2 AMIs must include the region as well, e.g., "us-east-1/ami-00000".
or
- OSFamily: Specify the OSFamily - leave empty for default for a cloud provider
- OS Version : Specify the OSVersion - leave empty for default for a cloud provider
-
- Hardware ID: Hardware ID on provider for this slave template, such as "t1.micro" on AWS EC2.
or
- RAM : in MB
- No. of Cores: number of virtual processor cores.
-
- Labels: (space-separated) labels/tags that you can use to attach a build to this slave template
- Init Script: A shell script to be run when the slave is created.
- Stop on Terminate: If true, suspend slaves rather than terminating them.
- Click Save to save the configuration changes.
- Goto Hudson' home page, click on `Build Executor Status` link on the sidebar.
- Verify that you have a button with `Provision via JClouds - (YOUR PROFILE NAME) drop down with the slave template name you configured.
- Click on the slave and see if your slave launched succesfully (please wait until the operation completes).
Executing build on the slave
- To run your build on the newly configured slave computer, just enable the `Restrict where this project can be run` option in the build configuration page.
- Enter the label which you choose for the instance template in the `Label Expression` text field. This should auto-complete labels for you.
- Click save to save the configuration options.
- Schedule the build to check whether the build is executed on the selected slave template.
Adding a Blobstore Profile for storing build artifacts
The plugin also provides a way to store your build artifacts on JClouds supported cloud storage providers. You can configure multiple
blobstore profiles and configure the build to copy different files/artifacts to the specified container. Here's how you configure the same.
- Goto Hudson Configuration Page
- Click Ad under the section `JClouds Cloud Storage Settings`
- Provide the configuration Options:
- You can add multiple providers by clicking on Add.
- Click Save on the bottom of the page, to save the settings.
Publishing artifacts after a build
After you configure a cloudstorage provider, you can enable the publishing file by enabling it under `Post-build Actions` in the build job configuration page.
- Click on the checkbox `Publish artifacts to JClouds Clouds Storage`
- You should now see a dropdown with configured storage profiles. Select the one you want to use for this build.
- Click on Add button next to `Files to upload`.
- Add the sourcd file path (relative to workspace)
- Add the destination container name.
- Repeat to add more files if you want to copy.
- Click save.
When the build is complete and succesful, the configured files will be published to the configured blobstore.
Comments (1)
Feb 05, 2011
Bruno Katekawa says:
Hi guys, I'm new here on Hudson Wiki, the company that I work uses Hudson for Q...Hi guys,
I'm new here on Hudson Wiki, the company that I work uses Hudson for Q.A. Automated Tests. We're currently researching jClouds and RackSpace to develop a plugin for Hudson for load distribution. If possible, I would like to know how to code (or build) a plugin like this, at least the basics to start and we can move on together.
I hope to share knowledge and information about this topic.
Thanks!
Best Regards,