Evolving Toward Agile
This is a guest blog by Wil Pannell, an enterprise software engineer evolving as an agile practitioner. Wil blogs about his experience using SOASTA and CloudBees for the testing of a mobile application on multiple mobile platforms. Wil’s firm, Media Agility, provides consulting to global clients seeking the latest approaches to mobile software development and deployment.
I came to develop a PhoneGap application on IOS and Android tablets. Agile/lean engineering practice led to test-first development, but when I began to build out continuous integration, I found the offerings for mobile automated functional testing and deployment lacked maturity.
I discovered SOASTA when I attended a webinar on mobile functional testing that culminated with a photo of a mobile lab, to which a continuous integration process was deploying and running an automated suite of functional tests to a variety of IOS and Android targets:
I required no further inspiration. Such an outcome would provide my organization with a high degree of code coverage for our mobile offerings and protection against defect regression — to build the product right — and establish an infrastructure to deploy feature changes continuously — to build the right product. The doors to lean mobile platform development are now wide open for us.
SOASTA and CloudBees
The webinar was hosted by SOASTA in partnership with CloudBees, a cloud-based provider of Platform-as-a-Service for developing web-based and mobile applications. We followed the practices recommended by SOASTA and CloudBees closely, and built out our Jenkins deployment pipeline comprised of the following jobs:
- build and deploy the IOS app capable of running SOASTA functional tests to devices tethered to the mobile lab;
- kick off SOASTA functional tests;
- build and deploy the production-ready IOS app to our enterprise Appaloosa store and notify QA that a new release is ready for a spot check.
We also built out an analogous pipeline to deploy and test our Android PhoneGap project designed to run concurrently with the IOS pipeline.
Features of Our Mobile Lab
(1) We run over 350 automated unit- and integration-tests and achieve greater than 80% code coverage:
(2) Using SOASTA command-line tooling and the Jenkins XCode plugin, we build a mobile-functional-test-ready IOS target and deploy it to the devices tethered to the mobile lab:
(3) Again, we use SOASTA command-line tooling to run a pre-recorded mobile functional test on a SOASTA-hosted instance of their TouchTest environment.
(4) Finally, provided each job succeeds, we build and deploy a production-ready release to our Appaloosa private enterprise store:
(5) There is a step that I purged, which uploaded to a QA site for approval. This meant that the build would not pass until QA exercised their exploratory test phase. I did not feel right about the way in which this step would prevent continuous deployment. But I felt that it was right to purge this step after discussing the topic with Joshua Kerievsky. He asked me a simple question: can the automated test do exactly what QA would do? Because of the accurate recording I experienced with SOASTA TouchTest, my answer was: yes.
Quick Starts and Support
There exists a ton of practice on both SOASTA and CloudBees for getting a mobile lab up and running. SOASTA’s quick starts and knowledge base are comprehensive, and I found the forums and personalized sales support via email extra-ordinarily responsive.
The same is true of CloudBees. Their partnerdemo site and blog provided concrete configuration and practice for many of the scenarios we required. And Mark Prichard of CloudBees himself generously devoted a considerable amount of his time to walk thru the fine points of my Jenkins configuration.
The other offerings I discovered that support mobile functional testing had obvious shortcomings in one-way-or-another. SOASTA is the only one, to my knowledge, that can support development at enterprise scale.
My favorite feature is to be able to deploy from the command line to IOS hardware targets in a continuous deployment scenario without manual intervention.
At the time of posting this, I learned that SOASTA has shipped my most-anticipated forthcoming feature: the one that wakes up the sleeping device tethered to the mobile lab when the automated build deploys.
Our experience with SOASTA tooling for automated mobile functional testing was quite satisfying.
- Celebrate Hacksgiving with the Jenkins Community!
- Microsoft’s Visual Studio Marketplace Public Preview features new CloudBees Jenkins Platform extension
- Knowledge as Code: Leveraging your Knowledge
- Knowledge as Code: Making Creating Knowledge Easy
- Knowledge as Code: Sourcing your Knowledge
- Webinar Q&A: Continuous Performance Testing and Continuous Delivery with CloudTest and Jenkins
- Jenkins Remote CLI Vulnerability
- Get Ripped! Jenkins + Docker = Industrial Strength Continuous Delivery
- Docker + Jenkins + Kubernetes Resources
- Docker + Jenkins Presentations
- Beta Release of GitHub Support for Pipeline-as-Code
- Securing Jenkins with Role-based Access Control and Azure Active Directory
- Test Mobile Apps with Jenkins Workflow and AWS Device Farm
- CloudBees Achieves AWS DevOps Competency and is Named an AWS Container Partner
- Using Amazon EC2 Container Service with Jenkins
- Jenkins, Workflow and Gerrit: Putting the Pieces Together
- Continuous Integration Blog Series
- Be Amongst the 99% and Help Our Favorite Jenkins Butler
- Parallelism and Distributed Builds with Jenkins
- Architecture: Integrating the CloudBees Jenkins Platform with Docker Hub 2.0
- Docker Hub 2.0 Integration with the CloudBees Jenkins Platform
- What Does CloudBees Jenkins Platform Mean for Me?
- Jenkins Community Survey - Your Chance to Be Heard!
- Workflow 1.10
- CloudBees Jenkins Platform on Amazon Web Services
- Jenkins User Conference U.S. West Speaker Highlight: Kaj Kandler
- Volume 9 of the Jenkins Newsletter: Continuous Information is out!
- JUC Session Blog Series: Christian Lipphardt, JUC Europe
- Managing a Jenkins Docker Infrastructure: Docker Garbage Collector
- Clone of CloudBees Jenkins Enterprise 14.11 available on Pivotal CF
- JUC Session Blog Series: Tom Canova, JUC U.S. East
- Jenkins User Conference U.S. West Speaker Highlight: Andrew Phillips
- Docker Custom Build Environment with Docker in Docker
- Docker Custom Build Environment with Docker in Docker
- CloudBees Jenkins Platform on Microsoft Azure
- Introducing the JUC Speaker Blog Series for JUC U.S. West
- Jenkins Workflow - Using the Global Library to implement a re-usable function to call a secured HTTP Endpoint
- Workflow 1.9 and multibranch beta
- JUC Session Blog Series: Mario Cruz, JUC Europe
- JUC Session Blog Series: Gus Reiber and Tom Fennelly, JUC Europe
- JUC Session Blog Series: Daniel Spilker, JUC Europe
- JUC Session Blog Series: Andrew Phillips, JUC U.S. East
- Clustering Jenkins with Kubernetes in the Google Container Engine
- On-demand Jenkins slaves with Kubernetes and the Google Container Engine
- Orchestrating deployments with Jenkins Workflow and Kubernetes
- Secure application deployments with Jenkins, Kubernetes, and the Google Cloud Platform
- Jenkins Container Support Juggernaut Arrives at Kubernetes, Google Container Registry
- JUC Europe: "From Virtual Machines to Containers" from Camunda
- JUC Session Blog Series: Robert Fach, JUC Europe
- Announcing the New CloudBees Partner Program
- JUC East: Tom Canova's "Jenkins Workflows with Parallel Steps Boost Productivity and Quality"
- Template Hierarchies and Using Aux Models to Simplify Template Construction
- Advancing the Jenkins GUI: Configuring Items in Jenkins
- Jenkins Workflow - Creating a Class to Wrap Access to a Secured HTTP Endpoint
- Continuous Delivery with CloudBees Jenkins Platform and AWS Lambda
- As Jenkins Grows Up, We Invite Our Business Partners To Grow With Us
- CloudBees Jenkins Platform: Accelerating CD in Enterprises
- Bringing Continuous Delivery to Cloud-Scale with Jenkins, Docker and "Tiger"
- Templating Jenkins Build Environments with Docker Containers
- Triggering Docker pipelines with Jenkins
- CloudBees Jenkins Platform - Remix or Mashup?
- Orchestrating Workflows with Jenkins and Docker
- Traceability of Docker Images and Containers in Jenkins
- Disaster-proofing slaves with Docker Swarm and the CloudBees Jenkins Platform
- Automating application releases with Docker
- Building modern, real world software delivery pipelines with Jenkins and Docker
- Orchestrating Workflows with Jenkins and Docker
- A Guide to Cutting-Edge Jenkins and Continuous Delivery
- JUC Speaker Blog Series: Martin Hobson, JUC U.S. East
- JUC Europe speaker blog post from Stephan Hochdörfer
- JUC Speaker Blog Series: Damien Coraboeuf, JUC Europe
- Multi-tenancy with Jenkins
- JUC Speaker Blog Series: Will Soula, JUC U.S. East
- JUC East Speaker Blog Andrew Phillips, XebiaLabs
- Jenkins User Conference U.S. East Speaker Highlight: Peter Vilim
- Jenkins User Conference Europe Speaker Highlight: Nobuaki Ogawa
- cdSummit News!
- [Podcast] Enable Fast Cycles with Continuous Delivery
- Jenkins User Conference U.S. East Speaker Highlight: David Dang
- New JUC Speaker Blog Post from Andrew Bayer on Jenkins-CI.org
- New JUC Speaker Blog Post on Jenkins-CI.org
- New Blog Series on Jenkins-CI.org!
- Top 10 Things You Will Get From Attending the Jenkins User Conferences 2015
- Maybe CD Summit And Jenkins Could Have Saved The Phoenix Project?
- [Infograhic] What's Holding Up Speedier Software And Services Delivery?
- Jenkins User Conference Update -- Agenda is Up for U.S. East and Europe!
- Operations Center 1.6 now supports cluster-wide configuration of email and alerting
- The Credentials API in Jenkins
- 2015 Jenkins User Conference World Tour - Early Bird Tickets, Keynote Speakers
- Webinar Q&A: Continuous Delivery with Jenkins Enterprise and UrbanCode Deploy
- CloudBees Jenkins Enterprise 14.11 available on Pivotal CF
- Workflow 1.5 released
- Webinar Q&A: Facilitating Continuous Delivery Pipelines with Jenkins Workflow
- Registration is Open for JUC 2015!
- Webinar Q&A: Continuous Delivery with Puppet Enterprise and CloudBees Jenkins Enterprise
- Deadlines Fast Approaching: JUC 2015 Call for Papers
- Supercharge Continuous Delivery in Jenkins with Workflow
- Workflow 1.3 released
- Where in the World is Jenkins? - March 2015
- Save the Date for JUC 2015
- Call for Papers- JUC 2015
- Results of Puppet Labs' State of DevOps Survey Solidify Case for Continuous Delivery
- CloudBees Raises $23.5m - Because Software is Eating the World
- Workflow 1.2
- Copying artifacts between builds in a Jenkins Workflow
- "mail" step for Jenkins Workflow
- CloudBees in 2015: WE ARE HIRING (Big Time...)
- Workflow integration for Credentials Binding plugin
- Best Practices for Setting up Jenkins Auditing and Compliance
- Jenkins 1.580 with workflow now generally available on DEV@cloud
- Drop that cron - use Jenkins instead for scheduled jobs
- Best Practices for Setting up Jenkins Auditing and Compliance
- #BreakingBuilds Twitter Contest Results
- AWS CodeDeploy Jenkins plugin now available including on DEV@cloud
- 2015 Predictions for Continuous Integration and Continuous Delivery
- Webinar Q&A: Continuous Delivery and Pipeline Traceability with Jenkins and Chef
- Webinar Q&A: Analyze This! Jenkins Cluster Operations and Analytics
- Webinar Q&A: Orchestrating the CD Process in Jenkins with Workflow
- Continuous Information - Newsletter for the Jenkins Community
- Jenkins Operations and Continuous Delivery @Scale with CloudBees Jenkins Enterprise
- Where in the World is Jenkins? - December 2014
- Breaking Builds II – Los Jenkins Hermanos Deliver More than Software
- Beware the siren's -target call
- Workflow plugins: 0.1-beta-5 published
- Jenkins: now with more golang
- Small build size is "deprecated"
- Another Look at the Jenkins Promoted Builds Plugin
- Breaking Builds - No More Half Measures
- Where in the World is Jenkins? - October 2014
- Migrating to Jenkins Enterprise by CloudBees from Open Source Jenkins
- The Jenkins Plugin Developer case files: Episode 1 - When @Extensions bites you in the posterior
- Continuous Delivery - The Real Deal
- Android Emulator Troubleshooting
- Migrating Play2 (and other) apps to AWS Beanstalk (via Docker)
- CloudBees Around the World - September 2014
- Customer Spotlight: Choose Digital
- Webinar Q&A: Continuous Delivery with Jenkins and Puppet - Debug Bad Bits in Production
- CloudBees Becomes the Enterprise Jenkins Company
- CloudBees Partners with Pivotal
- Reflections on the PaaS Marketplace
- Advanced Git with Jenkins
- [Infographic] Need To Deliver Software Faster? Continuous Delivery May Be The Answer
- Building Pipelines at Scale with Puppet and Jenkins Plugins
- Webinar Q&A: Role-Based Access Control for the Enterprise with Jenkins
- Workflow plugin demos updated
- Configuration as Code: The Job DSL Plugin
- Meet the Bees – Customer Campaign Edition - Lose It!
- Integrated Pipelines with Jenkins CI
- Conditional Pull-Request building
- Webinar Q&A: "Scaling Jenkins in the Enterprise"
- Building Resilient Jenkins Infrastructure
- Automation, Innovation and Continuous Delivery - Mario Cruz
- Meet the Bees: Tracy Kennedy
- Anonymous access and Jenkins (and Role based access control)
- Using Jenkins in a hybrid mode: use cloud slaves for on-premise masters
- Amadeus Contribution to the Jenkins Literate Plugin and the Plugin's Value
- Automating CD pipelines with Jenkins - Part 2: Infrastructure CI and Deployments with Chef
- Amadeus Contribution to the Jenkins Literate Plugin and The Plugin's Value
- When Jenkins' SSH slaves meet the Corporate IT Security policy
- Multi-Stage CI with Jenkins in an Embedded World
- Continuous Delivery: Deliver Software Faster and with Lower Risk
- Continuous Integration for node.js with Jenkins
- Continuous Delivery and Workflow
- An official Jenkins (LTS) image on Docker Hub
- Automating CD Pipelines with Jenkins - Part 1: Vagrant, Fabric and Selenium
- Injecting Secrets into Jenkins builds using the Credentials plugin
- To Successfully Adopt Continuous Delivery, Organizations Need To Change
- Docker image to trial Jenkins Operation Center clustered setup
- The Butler and the Snake: Continuous Integration for Python by Timo Stollenwerk, Plone Foundation
- LIFX smart lightbulb build notifier plugin
- Jenkins Docker-Hub plugin - image based workflows
- CloudBees Announces Public Sector Partnership with DLT Solutions
- Jenkins Operations Center by CloudBees 1.1 Generally Available Today
- Using CloudBees build servers from your own Jenkins master - Linux and OS-X
- The CD Revolution - Come to Learn More!
- DockerCon highlights
- Jenkins User Conference Boston is almost here!
- DotCI - a plugin providing a new way to Build with Jenkins, Docker and Github.
- CD Summit: Learn From Continuous Delivery Experts
- Jenkins Enterprise by CloudBees May 2014 Release, generally available
- Webinar Q&A: "Accelerating Innovation with Continuous Delivery and Jenkins
- Jenkins for Ops teams
- The Business Benefits of Continuous Delivery
- A Platform for Continuous Delivery
- Building Golang projects on Jenkins DEV@cloud
- A docker delivery pipeline for you to try out
- JenkinsCI workflow plugin open sourced
- Continuously Celebrating #CDday and Rewarding You!
- Announcing Continuous Delivery Day - May 21
- Agendas Posted for Upcoming Jenkins User Conferences
- Building resilient continuous integration infrastructure with CloudBees webinar Q&A
- Apache Mesos and Jenkins - elastic build slaves
- Meet the Bees: Félix Belzunce
- Webhooks ... They're Not Just for Nerds !!
- SSL vulnerability fix roll out and platforms vs servers
- Jenkins - The Man Behind The Curtain
- Continuous Performance Testing in the Cloud (French)
- Meet the Bees: Ben Walding
- Tagzbox and MappedIn Israel
- Secure and Scalable Integration - CloudBees WEAVE@cloud integrations running on RUN@cloud
- The Docker build+publish plugin - and Dockerfile as build config
- Support for long-running builds in Jenkins
- SSL + bg deployment
- Using Docker in your build pipeline with OPEs
- Hi-speed Linux Builds for DEV@cloud
- Sacha Labourey on CloudBees Series C Funding
- Meet the Bees: This Week, Meet Vivek Pandey
- Updated node.js versions
- New App framework popularity update
- How to use Maven Android SDK Deployer
- Integrate third party libraries in your IOS project and build with Jenkins
- How to do Maven release builds from DEV@cloud to central
- CloudBees Buzzes on Verizon Cloud
- Using Jenkins with Docker
- Using a private external Maven repository on DEV@cloud
- Docker on OS-X
- Meet the Bees - Now Buzzing to the Northeastern US and Jesse Glick
- Lessons learned from build-flow development
- Meet the New CTO Bee - Kohsuke Kawaguchi
- Real Devices, Real Tests - Using a Device Cloud with Jenkins
- Scaling Jenkins Horizontally webinar questions and answers.
- Maven: Keeping secrets out of Source Control
- CloudBees as a Visionary in Gartner's aPaaS MQ
- Updated Terms of Service
- Bonjour! Let's Buzz to France and Meet Bee Nicolas De Loof
- Introducing… Bee Hive!
- AngularJS starter app updated
- Play framework clickstart updated: 2.2.1 and DB pooling settings
- Using Liftweb and CloudBees? Jetty 9.1 stack is ideal
- Using WEAVE@cloud to Integrate Apps, without Writing Code
- Building Android Gradle apps with Jenkins
- Advocating microservices and FP: Free underpants (YOW! 2013 conference)
- Meet the Bees, Y'all - Now Buzzing to Texas to Meet Ryan Campbell
- Building Android Maven apps with Jenkins
- About PayPal's Node vs Java “fight”
- Asynchronous tasks using JMS
- Scaling Jenkins Horizontally with Jenkins Operations Center by CloudBees
- Meet the Bees! Buzzing Down Under, to Visit Michael Neale
- How to Access/Populate CloudBees MySQL DBs
- Brief presentation on Continuous Delivery
- Meet the Bees! Buzzing Over to Ireland and Stephen Connolly...
- DEV@cloud Private Mounts no longer mounted by default
- Running Spring-boot apps on CloudBees
- WEAVE@cloud + Cloudant == flexible Customer Engagement via Totango, Mixpanel etc
- Using your repositories as a file store
- The Cloud and the Fall of Giants
- Jenkins User Conference 2013 Palo Alto -- BIG thank you!
- Quick reminder - setting the JVM version - example for Play2
- How to make your app aware of its other members in the cluster
- Running multiple versions of Node.js
- Your RUN@cloud Apps connecting to external SaaS Apps
- Vert.x 2 now available on CloudBees
- Quick tip on self-signed SSL certs
- Vert.x 2 Available on RUN@cloud!
- How to start on CloudBees
- What is CloudBees about?
- Newrelic and Node.js on CloudBees - how to set it up
- How to set up different environments on CloudBees platform
- Filesystem on the cloud: How to store files and images for your applications on CloudBees platform
- How to deploy a Play! application on CloudBees with a MySQL database
- How to do CI with GitHub, CloudBees, and the Play Framework
- JNDI hell
- Step by step guide about how to deploy your Spring application on CloudBees
- A Year in the JCP Executive Committee
- What's the Future of Software?
- Play 2.2.0 clickstart upgraded - and how to use any version of SBT
- CloudBees Folders Plugin Now Open Source
- Microservices - a brief presentation
- New ClickStart: SendGrid with Tomcat
- Pfizer and Jenkins DEV@cloud - deploying drupal web properties
- SSH Slaves reloaded
- Spring Applications on CloudBees platform
- Jenkins User Conference: 8 Reasons Why You Can't Miss It
- Jenkins Deployer Plugin for CloudBees RUN@cloud got some love
- Jenkins Enterprise and the CloudBees support plugin: now even easier!
- New features added to Jenkins Enterprise's VMWare ESXi plugin
- Improving the Literate/Multi-branch UI
- Import existing authorization strategy into Role Based Access Control plugin
- Jenkins Fast Archiver plugin: new major release!
- Literate Builds Make Configuring Jenkins Easier
- Perforce support available on DEV@cloud
- Quiet Start Plugin
- Step by step guide about how to deploy your Tomcat 7 application on CloudBees
- JUC Talk Preview: Preparing for Enterprise Continuous Delivery
- CloudBees and the Cloud-Extended Enterprise
- CloudBees Is Your Mobile CI Solution
- A brief History of the Literate Builds plugin for Jenkins
- How to try Literate Builds on DEV@cloud
- Deploy your application on CloudBees in two steps
- Literate builds - a big new thing for Jenkins
- CloudBees now offers SAML 2.0 Integration - Make yourself at home!
- Jetty 9.0.5 Available on RUN@cloud!
- New JBoss 7.2 ClickStack
- Play 2.2.0 is out - and it deploys to CloudBees
- The NSA, the Cloud and Our Reptilian Behavior
- Continuous Integration in .NET on CloudBees platform
- Continuous Information vol. 5 - CloudBees Newsletter for Jenkins
- See us next week at JavaOne
- GitHub on Jenkins
- New Continuous Cloud Delivery video out
- Getting Ready for the Jenkins User Conference Palo Alto!
- Entering the Cloud and Watching the New Wave of Sybases
- Jetty Available on RUN@cloud!
- Connect Your On-premise Resources to Jenkins in the Cloud
- From SQL to NoSQL: WEAVE@cloud and Cloudant
- Quick reminder - FireFox and Chrome are both available on build servers
- Health Check-up for Your Jenkins
- Validated Git Merges for DEV@cloud
- Preview your iOS app builds from inside Jenkins - thanks to app.io
- Java, Jenkins and Joie de Vivre: The Hive is Heading Your Way
- VPN Service for Your Jenkins Builds
- Blue Green deployments - with Jenkins and the blue-green command
- Hands-on Workshop: Continuous Deployment with Jenkins and Deployit
- New Version of the Tomcat 7 Clickstack
- Using Play2? Consider updating your version to 2.1.3 (it is easy to do)
- Jenkins Fest 2013 - JUC Palo Alto, Oct 23
- PaaS+Integration = AppCentric Integration
- Global paas apps - your apps in EU and US with Geo-aware DNS and failover
- Messaging with AMQP on CloudBees.
- Jenkins Template plugin, builder templates and environment variables
- So you want to roll your own custom build of Jenkins
- Ruby CI clickstart - automated Jenkins setup so you don't have to.
- Jenkins User Conference Israel Highlights
- Sign up or Sign on with GitHub and Google
- Browser based GUI testing on CloudBees
- Play1 Clickstart - Play version 1 is back (or never left?)
- CORS - cross origin requests in the browser
- Jenkins Template plugin and build parameters
- On Square's “Maven, Gems, and a JRuby Console for All”
- Continuous Cloud Delivery Workshop in Paris with Xebia on the 4th July
- More love for play framework - newrelic support and plugin deployment
- Q & A from the Custom Runtimes on CloudBees webinar
- Websocket - how to
- Load Testing with Jenkins Continuous Integration in the Cloud: A Tutorial
- Introducing variability into Jenkins Plugins
- Templates Webinar Follow-up Q&A
- Websocket, WebRTC and real time video chat (Bob and Alice!)
- Java EE 7 and GlassFish Day at CloudBees
- Private PaaS vs. Public PaaS - Bets Are Off
- Accelerate Sales Growth with PaaS - Q&A from Cloud Training Webinars
- Q&A: Setting Up Role-based Access Control
- The CloudBees Support Plugin: Delivering Jenkins Support Faster
- Jenkins Enterprise by CloudBees May 2013 Release, generally available
- Taming the Jenkins JSON api with depth and "tree"
- JUC Visits Israel on June 6
- node.js on cloudbees - quick refresher
- Integrated third party apps on CloudBees - CloudAMQP and BlazeMeter - and how it works
- Continuous Information vol. 4 - CloudBees Newsletter for Jenkins
- Inside Linux Containers (LXC) with Jenkins at CloudBees
- CloudBees Buzzes in Europe!
- Q&A: A Tutorial for Getting Started with PaaS
- Recording of most recent hangout with Netflix
- Play Framework with AngularJS and WebJars
- Dart on CloudBees
- Grails clickstarts now available
- Jetty on CloudBees
- RUN@cloud UI now shows EU region
- Meet the Butler at Jenkins User Conference Palo Alto
- Quick and not so dirty private-mode for play2 apps
- Is semantic versioning a folly?
- LambdaJam Brisbane
- Recording of recent EU hangout/chat now available
- Google Go on CloudBees
- Activiti BPM plaform - try it with a clickstart
- CloudBees works from home?
- App framework popularity report (another update)
- About test coverage
- The Maven Way™
- Continuous Cloud (clown?) Delivery - explained and demoed
- AngularJS test framework has been renamed
- Why Developers Should Care About Oracle's Upcoming Appeal of the Google Lawsuit
- Another US timezone hangout coming up
- No lock-in with CloudBees
- Evolving Toward Agile
- > 60% of a banks traffic is Mobile clients
- iOS clickstart - get started with an iPhone app using Jenkins/CouchDB and CloudBees
- CloudBees: The Extra Member of the Team
- Continuous Cloud Delivery
- 2013 Application Release Trends
- SourceTree - git GUI - now available for windows
- Playing trade-offs with Maven
- Continuous Integration for Mobile Apps with Jenkins: Multi-Device Android Builds
- CloudBees hangs out volume 3
- Safely granting direct access to your AWS services - a little known feature.
- On application deployment
- Continuous Engagement in a Zero Touch World
- Websocket support is now generally available
- Instant AngularJS Starter - brief book review
- AngularJS clickstart now runs e2e and unit tests in Chrome and Firefox
- CloudFoundry & DEV@cloud Jenkins now integrated.
- Meteor clicktstart now available
- CloudBees hangs out EU edition
- Continuous Delivery with DEV@cloud and Cloud Foundry
- CloudBees hangs out - live google hangout in EU timezone
- Blue-green deployments - continuous deployment and fast rolling back
- HTTPS access for cloudbees git repos now available
- Bit of a new look for grandcentral
- Step It Up to Continuous Delivery Without Breaking a Sweat!
- Working with nginx for websockets support
- Building Github pull requests with DEV@cloud
- JDK7 is now default for new apps - finally !
- CloudBees Hangs Out
- App framework popularity update
- CITCON conference 2013
- Play2.1 is out - and how amazing are Iteratees
- Web-app GUI/browser testing on CloudBees build servers
- Play Framework (our most popular framework) used by egraphs
- A Catchup with CloudBees Developers: AngularJS - the New Hotness, API Design Rants, Analysis of Contributions with Git and More
- AngularJS - HTML for apps. Try it now as a ClickStart.
- Does community matter (oh and GIT is frickin' cool BTW)
- API design is a craft… and you don't have it!
- Jenkins Satisfaction Thoughts... in a Wordle
- The most insidious bug ever - why dependencies are evil
- It May Be the Silly Season but Bees Are Still Busy...
- Developers with multiple customers - one weird old tip
- Simple Web App <--> Email Integration with SendGrid's Parse API
- Bring your own Custom Slaves (build servers) for DEV@cloud
- Procfile support: sneak peek (with google go demo)
- Devoxx on CloudBees
- Jenkins CI survey infographic
- Today's Trends Bode Well for Jenkins CI
- New app framework popularity report - Rick Astley wouldn't give this up
- 2012 Jenkins Survey Results Are In
- A Picture Is Worth 1000 Words
- 2012 - it's a wrap
- Mobile Apps, Continuous Integration and Platform as a Service
- Code Forward: Meet the Awesome Developers Behind President Obama’s 2012 Re-Election
- Should you deploy -SNAPSHOTs
- Token Vending Machine ClickStarts and How to Build Them
- Putting our PaaS core (Genapp) on github
- Asgard and SimianArmy from Netflix
- IntelliJ IDEA 12 Adds Support for CloudBees
- Maven and the "install" hack
- New podcast episode is out
- ClickStarts that use services (eg Cloudant, Saucelabs)
- Amazon Web Services and Platform as a Service: Putting it all Together
- Amazon Web Services and Platform as a Service: iOS and Android Mobile Clients
- CITCON 2013 - Sydney - CI conf
- Amazon Web Services and Platform as a Service: IAM and the Secure Token Service
- Amazon Web Services and Platform as a Service: Building Apps with Maven and Eclipse
- Amazon Web Services and Platform as a Service: The New Enterprise Java
- Make your own Runtime in 10 minutes or less - the quick stack click stack
- New application instance commands
- Continuous Integration for Mobile Apps with Jenkins: A Note on Android NDK Builds
- Mobile Builds with Jenkins in the Cloud: Recap and Launching the Emulators
- Bring your own runtime- Guide for building Clickstacks released
- Maven Profiles and “The Maven Way”
- How Buildhive hooks into GitHub
- Michael Speaking on Clojure next week
- Jenkins Security Advisory Patch Available Within Jenkins Enterprise by CloudBees November 2012 Release
- Leiningen support (clojure) for buildhive - autodetecting builds
- PHP and Redis - new versions on DEV@cloud
- Q&A for "Setting up Continuous Delivery with Jenkins Enterprise by CloudBees and Deployit"
- Opensource homepage for CloudBees
- Background task scheduling - how we do it
- New SDK commands for dedicated server self service
- SBT convenience ClickStack
- 500 jclouds Builds on BuildHive and Counting…
- Node.js and Erlang platforms at CloudBees
- Hybrid functional languages and the JVM
- The many ways to deploy an application from DEV@cloud to RUN@cloud
- CloudBees developers google group
- Finding port or address of your application
- The ClickStart award
- Continuous Integration for Mobile Apps with Jenkins: SOASTA CloudTest for iOS Apps
- Mobile CI with Jenkins Videos
- Unit Test Results, Code Coverage and Quality Metrics for Android Apps
- Using SSH from Jenkins
- Good sequential code != Good parallel code != Good concurrent code
- Click to Start Your Community on Your Stack
- Continuous Integration for Mobile Apps with Jenkins: Promoted Builds, the QA Process and Beta Distribution
- Sign on with google
- New Relic Launches Key Transactions and Unveils New UI
- Vote for CloudBees for the JCP Executive Committee
- Use of Erlang in Agent Smith - the core of the PaaS
- Some other stacks available for deployment
- Clojure ClickStart now available - impress your friends
- Google App Engine & CloudBees
- Our use of RabbitMQ
- Principles of reliable systems presentation
- The Cross-Build Injection Attack Fallacy
- Tired of bash scripting?
- CloudBees Developer Blog
- Lots of new stuff - September 2012 edition
- I ♥ New Relic
- I ♥ New Relic
- The CloudBees developer blog
- Play! Framework - Version 2 Goes Native on CloudBees
- Write Code, Reuse Code or Get Out of the Way
- Public Static Void Main and ClickStacks
- CloudBees, ClickStarts and New Relic - The Trifecta to Quickly Get Developers Productive
- Packaging Matters: What ClickStarts and ClickStacks Mean for CloudBees Partners
- Two Great Tastes that Taste Great Together
- Customizing and Extending CloudBees – The New Open
- First post !
- Take the 2012 Jenkins Survey
- The Full Stack Developer
- Heroku Java Support vs. CloudBees
- Continuous Integration for Mobile Apps with Jenkins: Android Builds
- Continuous Integration to Continuous Deployment with Jenkins and Deployit
- Q&A: "Continuous Integration to Continuous Deployment with Jenkins and Deployit"
- Scripted Integration Tests with Jenkins and CloudBees
- 2012, the Year of the Postmortem?
- CAMP, Standards, and Relevance
- Continuous Deployment for Mobile Apps with Jenkins: Back-end Services and Integration Testing
- Continuous Deployment for Mobile Apps with Jenkins: iOS Builds
- Get Memcache on CloudBees with MemCachier
- Jenkins Git Server Plugin
- ClickStarts: Building Your Own from a CloudBees Template
- Continuous Deployment and Testing for Mobile Applications
- ClickStart: Scala Plus Lift Web Apps in One Click
- ClickStart: Backbone Plus RESTful App in One Click
- ClickStart: Building Maven-based Hibernate Apps on Tomcat in One Click
- ClickStart: Java EE 6 KitchenSink App in One Click
- ClickStart: Deploy an App, Repo, Database and Jenkins Build in One Click
- Dev to Deploy: One Toolbar to Rule Them All
- REST Web Services in the Cloud: Part 2
- Securing PaaS
- REST Web Services in the Cloud: Part 1
- Feed Your Slaves to the Jenkins Master in the Cloud
- OAuth at CloudBees
- Selenium WebDriver Best Practices Meetup: Aug 23rd in Austin
- Using CloudBees Environment Profiles with Maven and Eclipse
- Using the CloudBees Maven Plug-in with Eclipse
- Getting Started with CloudBees and Eclipse
- Denial of Service Attack on DNS Event
- Conclusion: The Cloud is IT's Most Important Tectonic Shift
- Jenkins User Conference Israel
- Cloud Beers this Friday in Our West Coast Office
- Folders Plugin Now with Support for Moving Items
- Organizing Jobs with Views Instead of Folders - Just Like My Grandma!
- The Cloud as a Tectonic Shift in IT: The Death of Middleware
- Adopt OpenJDK
- Jenkins User Conference in Herzliya, Israel
- CloudBees’ Postmortem on Two Recent Outages: AWS and Leap Second Linux Bug
- The Cloud as a Tectonic Shift in IT: The Death of Operating Systems (as We Know Them)
- Don't Shoot the Messenger (the PMD Plugin)
- New Relic Launches App Speed Index and Custom Dashboards
- Jenkins Protip – Artifact Propagation
- The Cloud as a Tectonic Shift in IT: The Irrelevance of Infrastructure as a Service (IaaS)
- Android CI on DEV@cloud
- Support JUC and Help the Jenkins Community Prosper
- The Cloud as a Tectonic Shift in IT: The Industrialization of IT
- Michel Goossens: From Time Magazine 1982 to CloudBees!
- Jenkins User Conference -- New York Wrap-up
- Push Changes to BuildHive and Never Run Your Tests
- How to Use Jenkins for Job Chaining and Visualizations
- BuildHive: Build GitHub Projects in Cloud-enabled Community Jenkins
- Announcing BuildHive!
- Follow-up on HP's Cloud Announcement and Other News...
- Jenkins User Conference Paris Summary
- CloudBees is Live on HP Cloud Services
- Upcoming CloudBees Webinar: Application Lifecycle Management with PaaS
- More Jenkins Value from CloudBees
- xUnit Plugin
- Create Your Startup in a Weekend
- Continuous Information – The Latest in Jenkins Continuous Integration
- How Can We Make Mobile App Development Even Better?
- Improvements in Jenkins You Don't See
- Watching Out for Jenkins Security Advisories
- April Events
- The Butler's Service: A Special Offer for our European Jenkins Community!
- Jenkins UI Improvements!
- Using Codesion Git Repositories with DEV@cloud Jenkins
- Style: It's a Mad Man Who Pretends He Doesn't Want It... (a.k.a. Checkstyle)
- Jenkins Jabber Plugin with Google Talk
- Angry Birds, Cloud Bees, & Naked Cowboys at SXSW
- Let Jenkins Keep You Notified! (with the Instant Messaging Plugin)
- CloudBees Platform: Best Performers
- Webinar Recap: Exploiting the Cloud for Speedy Development & Continuous Delivery
- Erlang at CloudBees
- Come join us on “Selenium, Jenkins, Robots, Oh My!” tomorrow
- Don't Phunk with My Stable Branch: Jenkins Pre-tested Commits to Stop Breaking Stable Branches
- Using Git with Jenkins
- Mobile Mania at the 2012 App Olympics
- Using Jenkins Templates Plugin to Construct Reusable Jobs and Builders
- March Madness at CloudBees
- Open Sourcing the Credentials Plugin
- Let Jenkins Hit Itself in the Head without Fear (a.k.a. Restart Safely)
- CloudBees Introduces Subversion, Git Plus Other Best of Breed Development and Agile Tools with CollabNet
- Jenkins IRC Plugin
- Service-Based PaaS Architecture
- AnyCloud: Centralized Control, Local Flexibility
- Selenium, Jenkins, Robots, Oh My!
- Solving the Private vs. Public PaaS Dichotomy: Discover CloudBees AnyCloud!
- Sticky Sessions Load Balancing and High Availability
- Securing the Cloud: Part 3 - Credentials and Password Policies
- New RUN Pricing (and Venti Chai Latte)
- Agile Best Practices: Exploiting the Cloud for Speedy Development & Continuous Delivery
- A Festival of Emerging Technology in Philly
- Tasks and Warnings with Jenkins
- Dependency Graph Viewer for Jenkins
- Who Will Make the Best PaaS this Sunday?
- Controlling What You See (with the View Job Filters Jenkins Plugin)
- Jenkins Support Comes to WANdisco’s uberSVN Platform
- Writing Programs that Drive Jenkins
- Painless Maven Builds with Jenkins
- Postgres in the Cloud Goodness with CloudBees
- Securing the Cloud: Part 2 - Managing Security Around Remote Login and Development
- You Ain’t Nothin’ but a Clound-Dog… with an iPad
- Emma Plugin for Jenkins: Easy Code Coverage Reports
- Securing the Cloud: Part 1 - Managing Credentials
- Amazon 1 - Microsoft 0
- A Big Welcome to "Continuous Information" – the CloudBees Newsletter for Jenkins
- Better Integration Between Jenkins and GitHub (with the GitHub Jenkins Plugin)
- Global Build Stats Plugin
- CloudBees Wins a Perfect Trifecta!
- Creating Jenkins: Kohsuke's Story on Chariot Techcast
- Using the Jenkins Subversion Plugin
- Jenkins Now Acts as an SSH Daemon
- DEV@cloud Meets GitHub Janky
- Jenkins Community Survey Results: 82% Consider Jenkins Mission Critical
- Hello Java, Hello iPad, Hello World!
- Upcoming Jenkins Training in San Francisco & Tokyo
- I've Got 99 Problems but Scala Ain't One
- How Much Does CI Development in the Cloud Cost? Less Than You Think!
- Enhanced Pricing and Packaging for the CloudBees Platform
- Session Affinity (Sticky Sessions)
- Devops in the Cloud – Meetup this Thursday at Netflix
- What's Next for Jenkins Enterprise by CloudBees?
- Jenkins Plugin Tip: Access Control and Visibility in Actions
- Install Plugins Without Restarting Jenkins
- Polling Must Die: Triggering Jenkins Builds from a Git Hook
- Releasing Jenkins Enterprise by CloudBees
- Continuous Delivery with Grails and CloudBees
- Easy Deployment of Clojure Apps on CloudBees
- SendGrid is Now Part of the CloudBees Ecosystem
- Monitoring Jenkins in Eclipse
- The CI Train Has Left the Station
- Introducing Template Plugin
- Virtualization and Clouds
- Announcing the Availability of Nectar 11.10 - New Release of CloudBees' Enterprise Version of Jenkins CI
- Jenkins Community - Report Bugs, Win Big!
- Take the Jenkins Survey!
- XWiki SAS Joins the CloudBees Ecosystem
- Let the WAR File be the Unit of Deployment
- Expanding the Integrated CloudBees Ecosystem
- CloudBees Running for a JCP Executive Committee Seat!
- Jenkins: The Safe and Sensible Choice for CI
- What a Week! JUC, JavaOne, TAB & More…
- ORCL and the Cloud: the Good, the Bad and the Ugly
- Java EE6 in the Cloud, in Production, Today
- DEV@cloud Private Edition beta bits available: Manage your Jenkins sprawl
- Steve Harris Joins CloudBees as SVP of Products
- Steven Harris, On Joining CloudBees
- 15 Minutes to Liferay on the CloudBees PaaS
- 3 Quick Steps to Use Jenkins with uberSVN
- Lose It! CEO Charles Teague Extols Value of PaaS
- JUC: All Our Ducks Are in a Row!
- Making the Most of Jenkins CI
- Continuous Integration with Subversion and Jenkins
- Master Jenkins and Accelerate Application Development: September 23 in London, October 14 in Tokyo!
- Recent Google App Engine News: Think Beyond Pricing...
- Jenkins User Conference Weather Report
- Bees Outside the Hive
- API Token in Jenkins REST API
- Jenkins Internal: Action and Its Subtypes
- The State of JUC
- A Hive Full of Resources
- MongoHQ and CloudBees Announce Partnership
- Liferay, Red Hat Join as Sponsors for Jenkins User Conference
- WELCOME: André Pino as VP of Marketing
- Deploying PHP Applications on CloudBees
- Enterprise IT and the Hungry Beast
- Jenkins User Conference: Call for Papers Deadline Sept 1, 2011
- Jenkins User Conference: Proposed Agenda
- Jenkins User Conference
- Kohsuke wins an "O’Reilly Open Source Award"
- O'Reilly Open Source Awards Recognize Kohsuke and Jenkins
- Enterprise Jenkins with SVN: A Bit o' Honey from WANdisco and CloudBees
- Instant CouchDB - Watch the CloudBees Ecosystem in Action
- CloudBees Raises Series-B from LightSpeed Venture Partners
- 6 Major Differences Between Jenkins and Nectar
- CloudBees Webinar: Authentication and Authorization in Jenkins on July 27th
- NoSQL: CouchDB with CloudBees and Cloudant
- CloudBees Toolkit for Eclipse: Bringing the Cloud to Eclipse Developers
- Five Reasons Why Developers Choose Jenkins Over Hudson for Continuous Integration
- Upcoming Jenkins Training in New York
- dotCloud – Helping the Transition to the Cloud
- Interested in FREE New Relic Standard Edition for your Java apps? It’s part of CloudBees’ new partner ecosystem!
- Public Key Authentication in Jenkins CLI
- Full-on Cloud Dev with Turnkey Integration Testing
- CloudBees Ecosystem Launch – Discover CloudBees^2
- 5 Steps to Take Locals Apps & Continuously Deploy in the Cloud
- Stairway to Heaven...in Cloud: Webinar Recording, Slides and Q&A
- Webinar 6/8, 10am PT: Climbing the CloudBees "Stairway to Heaven" to Take Apps to the Cloud
- WELCOME: Jim McLoughlin as VP of Sales
- Setting the Record Right on a News Report by GigaOM
- For-Pay Offering for RUN@cloud
- State of the Frameworks on RUN@cloud
- Upcoming Training in London
- Squeeze More Juice Out of Jenkins: Manage Large Jobs, RBAC and Others with Nectar 11.04
- Enrolling in CloudBees Beta Program for Private Cloud Solutions
- DEV@cloud Enhancements
- CloudBees Going Hybrid
- CloudBees Downtime - Final Status
- New Webinars: State of Jenkins and Stairway to Heaven...in the Cloud
- CloudBees Downtime - Status
- Artifactory Plugin for Jenkins and Jenkins Project Status
- Just Announced: Next Training in San Francisco on June 14th
- Integrated App Monitoring and Management from New Relic for RUN@cloud
- TGIF Gift: Video Recording, Slides of "Securing Jenkins" Webinar
- Returning to JBoss World with CloudBees
- Come Chat with Us, Online
- DEV@cloud Entering Its Next Phase
- A Glance into the Future of Continuous Integration, and Other Upcoming CloudBees Events
- What is a PaaS, After All?
- March Newsletter: "Mastering Jenkins Security" Webinar on Mar 31st, 10am PT and Other News...
- Hiring! Sales Engineer and Consultant
- Welcoming Our Newest Bees…
- Writing Automatic Tool Installer for Jenkins
- Why Smart, Efficient Backup and Restore Techniques Are Essential with Jenkins Production Server
- Eclipse Toolkit for Jenkins and DEV@cloud
- White paper: "7 Ways to Optimize Jenkins"
- NoSQL and CloudBees
- CloudBees in the News: Open(?) PaaS