Google App Engine Adds Continuous Integration Through Jenkins
Thanks to a partnership with cloud software provider CloudBees, Google App Engine users can now use the continuous integration tool Jenkins to build, test, and deploy their cloud applications. This new service, which is offered through the managed CloudBees DEV@Cloud product, continues a general Platform-as-a-Service (PaaS) trend of providing continuous integration tools that connect to leading source control repositories.
Jenkins will monitor your projects’ source code for any changes, run the necessary builds and tests, and notify your team of any problems - or automatically deploy the application to Google App Engine if everything looks good. This process helps to prevent the deployment of broken code, and gives everyone a central record of what changes went into each deployment.
The CloudBees Jenkins service supports a variety of source control repositories and integrates with a number of extensions to Jenkins workflows.
Note that you can use virtually any source code service you like, including GitHub or CloudBees’ own Git and SVN servers.
Once you have a basic build working, you can integrate additional online services into your Jenkins workflow, like Sauce Labs for browser-based tests, Sonar for code analysis, or JFrog Artifactory as an artifact repository manager. These and several other CloudBees services can be automatically subscribed to using the Services link in your toolbar.
Continuous integration, along with the more advanced concept of continuous deployment, are becoming more commonplace components of software development. In a recent BusinessWeek article, the process by which Facebook performs daily builds was described as a mix of automated code analysis and manual review.
[Chuck] Rossi’s main job is to oversee the Push, a daily exercise in which Facebook takes in hundreds of changes to its code from engineers, checks to make sure they’re good, and then adds them to Facebook.com. Over the years, Facebook has built a number of software tools that do the first round of checks on the code, leaving Rossi to manually inspect the additions with potential to cause the most problems.
Marketplace website Etsy is also a big proponent of continuous deployment and created (and open-sourced) their own custom tool. Jenkins, an open-source fork of the Hudson project, is among the more popular tools for continuous integration. Jenkins competes with other tools such as JetBrains’ TeamCity, CruiseControl, and Atlassian’s Bamboo.
Other PaaS vendors besides Google have introduced complimentary continuous integration and continuous deployment tools. PaaS provider Heroku added a plugin for Atlassian’s Bamboo product that supports continuous integration and production deployments. Microsoft also recently announced that developers could perform automated deployment between its hosted Team Foundation Service and its Windows Azure Websites or Cloud Services. They also added support for Git and GitHub for deployments to Windows Azure Websites.
The CloudBees Jenkins service is free to start with and users can sign up on the CloudBees website.