We recently conducted a webinar that illustrated how you can get up and running with CloudBees and Sauce Labs with one click, using the Sauce Clickstarts for CloudBees.
There were a number of questions raised in the webinar that we didn't get time to address, so we've included answers below. If you have any further questions, please include a comment below.
Q: If you define that you want to deploy to RUN@CloudBees in pre-build step , is it guaranteed that the Maven job will be run only and only if deployment is finished? A: Yes, that's correct.
Q: How do you satisfy that application is deployed before Sauce tests are run? A: The CloudBees Deployer plugin will return the status of the deployment: the next test step won't run until the deployment is successful.
Q: In the JBoss example, tests are run against an in-memory JBoss. Is it possible to run the tests against the RUN@CloudBees instance? A: Yes, both configs are possible. In order to run against a different JBoss instance, you can specify your Jenkins build to use a different profile (which corresponds to a separate Arquillian container).
Q: Where is the sauce-jboss-clickstart and sauce-java-clickstart source code located? A: https://github.com/CloudBees-community/sauce-jboss-clickstart and https://github.com/CloudBees-community/sauce-java-clickstart. Please feel free to fork!
Q: How are code changes moved to the cloud after changes are made locally? A: What happens is you create a "cloud" repo with GitHub or CloudBees and then clone it for local development - then push changes back up to the cloud and the Jenkins jobs run automatically.
Q: So SSH is used to move code to the cloud after the build? A: SSH is the default but there are other options
Q: Can we have two ClickStart applications active at the same time? A: Yes, you can have multiple applications running at the same time.
Q: So the browser set in Jenkins config creates an environment variable that will override the default Sauce Labs SELENIUM_BROWSER? A: Yes, the Sauce Jenkins plugin will set a series of environment variables that represent the selected browser(s). Further information on the environment variables set by the plugin is available from the Jenkins tutorial page.
Q: What are the browser requirements for the Sauce browser test screen to capture video? A: You don't need to have a certain browser for that. Your test will automatically be recorded and screenshots captured every time you run a test on Sauce.
Q: "Drone extension for arquillian" huh, what? :-) A: I know, right? Take a look at our recent blog post for more information.http://sauceio.com/index.php/2012/12/sauce-extension-for-arquillian-drone/ :-)
Q: I read that it is possible to test applications deployed behind firewalls, can you explain how this works? A: Yes, you can use Sauce Connect to test websites running on a local webserver. The Sauce Jenkins plugin can be configured to launch Sauce Connect prior to the running of your testss.
Q: Is it possible to select more than one browser/OS combination in the same job? A: Yes, it is possible to set more than one browser - in this case, the Sauce plugin will set a SAUCE_ONDEMAND_BROWSERS envionment variable that contains the browser information (in JSON format).
Q: Do users of Sauce need to log in via the CloudBees environment first? Do users have to have a CloudBees account in order to use the Sauce service? A: No, if you just wanted to use Sauce, you could sign up via http://saucelabs.com/signup. If you want to use it with Cloudbees, however, we recommend signing up through Cloudbees.
Q: What needs to be configured on the Jenkins build job to allow the Sauce test run links to appear in the Jenkins build job? A: You will need to output the information to the stdout in the following format:
SauceOnDemandSesssionID=<session id> job-name=<some job name>
where 'session id' is the Selenium session id and 'some job name' is an identifier for the test under execution (usually the test name).
When the job has completed, the Sauce Jenkins plugin will parse the build output, and if it finds the above output, will update the Sauce Job to store the Jenkins build number.
Q: Is the Sauce plugin built to support Node.js/Ruby/.NET/PHP apps? A: Yes! The Sauce plugin for Jenkins supports all languages. In the coming weeks, we will add more Clickstart examples that demonstrate some of the other languages and platforms supported by CloudBees.