As the interface between Development and Operations, Application Release Management1 handles information that is highly relevant to your Release and Operations teams. Selecting an Application Release Automation solution that provides insight and analytics from both perspectives is thus a key component of an effective DevOps strategy.
Here, we explain how Deployit‘s Infrastructure and new Release Overview features help you achieve this goal.
(more…)
Tags: application release automation, continuous delivery, devops
Filed under Continuous Delivery, Deployment, Methodology, Middleware, Tools, Xebia Labs | No Comments »
Whether the driver is Agile, Cloud or DevOps1, or a “plain old” efficiency drive or process improvement initiative, forward-thinking organisations are currently looking for ways to improve their application release processes through automation. In an area where manual activities are still all too common, it’s unsurprising that the initial focus has been on automating the deployment execution – moving all the bits to the right places.
What early adopters have learnt is that, at the enterprise scale, automating release execution quickly introduces a new bottleneck in today’s dynamic IT environments: continuous management of the deployment plan definition. A new generation of application release automation (ARA) tooling avoids this pitfall by leveraging intelligence to automate deployment planning as well as execution.
(more…)
Tags: application release automation, continuous deployment, deployment automation
Filed under Cloud, Deployment, Middleware, Tools, Xebia Labs | No Comments »
As part of the preparations for the recent 1.0.0 release of jclouds, I was tidying up the existing Tweetstore demo application as well as porting it to CloudBees’ Tomcat-based RUN@cloud platform.
A key part of the test harness for the original versions of Tweetstore that run on the Google App Engine is the neat GoogleDevServer class. Basically, it’s a clever wrapper around the KickStart class used under the covers by the GAE SDK tools that allows you to specify the SDK location, address, port and WAR file (or expanded WAR directory) to run.
Better still, it can programmatically be shut down cleanly, making it ideal for integration test runs1.
For CloudBees, I was thus looking to put together a similar RunAtCloudServer. It proved more challenging than expected…2
(more…)
Tags: jclouds
Filed under Cloud, Google AppEngine, Java, Middleware, Tools | No Comments »
In the first installment on Xebium, Cirilo explained the ideas behind this FitNesse fixture:
Xebium creates a simple way to use Selenium IDE (low learning curve) and FitNesse (ease of maintenance) to it’s fullest when it comes to maintaining a web application test suites.
Xebium is using the same keywords as Selenium IDE. This has the huge advantage that no person should learn another DSL. Since tests are stated this way, they can be copied between Selenium IDE and FitNesse without a hassle (the FitNesse formatter for Selenium IDE is rather trivial). And to be honest: as long as there are XPath and Regular Expressions in the code, it makes no sense to come up with a substitute for verifyText
.
Tags: Acceptance Testing, Agile Testing, fitnesse, Selenium, Webtesting, Xebium
Filed under Testing, Uncategorized, Xebium | No Comments »
Introduction
When testing web interfaces, it’s convenient to use an intuitive tool like Selenium IDE, it’s easy to use and can be used by non-technical people, but it is solely meant for record and playback of test-scripts. One of its limitations is that it misses sufficient options for documenting and managing tests. Furthermore it misses an interface with the backend of the system under test (SUT), to setup preconditions for a test or for instance to manipulate or read from a database.
Fitnesse is a great tool to do just that, it has the Wiki to manage tests and it by default has a setup and teardown mechanism, it’s easy to add non invasive testfixtures to interface directly with your SUT. The downside is that it is incapable of doing webtests.
We now have the glue that combines the two, it’s called Xebium!
Tags: Acceptance Testing, Agile Testing, fitnesse, Selenium, Webtesting, Xebium
Filed under Testing, Tools, Xebium | 2 Comments »
When it comes to distributing Python packages, Python has its own mechanism. The tooling (either easy_install or pip) allows you to install a Python package and its dependencies. Typically, those packages are installed as Python Eggs (Java has Jars, Ruby has Gems and Python has Eggs). However, one can not expect Mac users to use these command line tools to download and install Python applications, especially GUI applications.
Last time I explained why I think doing TDD for mobile is imperative, and why I do it. But now it’s time to get technical, and explain to you how to set up, GHUnit in XCode 4 and run unit tests, not only in the iPhone and iPad simulator but also on your own physical device!, it’s in text and images but also in video form on YouTube.
Note, if you want to know why i chose GHUnit over OCUnit, just scroll down to the end of the post.
Filed under ios, mobile, Testing, Tools | 15 Comments »
As an ubiquitous exchange format, XML is well implemented in java. But those implementations hide how they perform the data binding from a XML structure to an object graph. It leaves us helpless in front of an application giving XML as a plain old string. Because low level API (DOM, XPath) — focused on document structure — are tedious, major JAX-RS implementation (Jersey, CXF) have chosen the same high level API — focused on data —: JAXB. Let’s do the same.
Tags: Data Binding, DOM, JAX-RS, jaxb, XML, xpath, XSD
Filed under Java, Tools | No Comments »
Recently, I was tweaking MultiSPI to add the following class loading fallback logic:
if (threadContextLoader != null) {
loadFromContextLoader(className);
} else if (systemLoader != null) {
loadFromSystemLoader(className);
} else {
loadFromBootstrapLoader(className);
}
and realized that it’s not immediately evident how to do this in a uniform way. But actually, it’s quite simple…getting a ClassLoader object for the bootstrap loader is just a couple of lines of code.
(more…)
Tags: class loader, Java
Filed under Java, Tools | No Comments »
Implementing a Java SPI isn’t a particularly 2011 experience1. Creating a correctly-named text file in META-INF/services, making sure it is correctly packaged and remembering to keep it up to date when you refactor is sufficiently annoying and error-prone that there are at least a couple of utils that aim to make this easier.
At XebiaLabs, however, we’re not just the implementors of our plugin SPI. We also write the deployment engine that consumes these plugins. And unfortunately, there isn’t much out there to help you read, load and verify services. Hence MultiSPI.
(more…)
Tags: dependency injection, Java, spi
Filed under Java, Tools | No Comments »