Thucydides is an open source library designed to make practicing Behaviour Driven Development easier.
Except for various corner cases, build agents nowadays often run in a virtualized environment. With today’s technologies, a template-based build agent is not difficult to handle.
So you've been coding away merrily on a project and everything is going well until a bug appears. You reach into your developer's toolbox and pull out a debugger. It's great - you can set breakpoints, you can interrupt when there's an exception and you can inspect expressions at runtime.
This update contains improvements through the entire Docker ecosystem--and it's both impressive and hopeful to see this kind of broad attention within a minor update so close in time to a major release. Good on them.
Last time we looked at generators, and more specifically those generating an infinite sequence. We saw that there were several ways to achieve this
For episode 44, we sit down with Lanette Creamer, a proponent of context-driven and agile QA practices to discuss what “quality” means in a world moving toward DevOps practices. Lanette started in QA back when solving “the blank screen” involved “typing in win.exe” and has been testing everything.
Looking around the web for information on creating a new shell from Go, I kept finding the same answer: "You can't do it." Actually, you can do it, and it's not hard.
I’ve been using wxPython for quite a while now and I see certain questions come up on a fairly frequent basis. One of the popular ones is how to ask the user for their credentials before loading up the rest of the application.
Make sure you didn't miss anything with this list of the Best of the Week in the DevOps Zone (July 4 to July 10). This week's topics include continuous delivery patterns, web tests in NodeJS, Java 8 and Java EE 7, Rackspace's best practices, continuous integration and continuous delivery provisioning tools.
Then we hit this issue of how do you create a definition of DevOps that is not too far away from the folks doing the work, but is still meaningful to the whole organization. We even talked a bit about how the name “Dev” “Ops” may be causing confusion!
In Diagramming Spring MVC webapps, I presented an approach that allows you to create a fairly comprehensive model of a software system in code.
Thucydides plays nicely with BDD tools such as JBehave, and traditional tools like JUnit, to make writing automated acceptance tests easier, and to provide richer and more useful living documentation. In a series of two articles, we will look at the tight one and two-way integration that Thucydides offers with JIRA.
This is the first of a series of posts that is going to discuss the different faces of tests. Let’s start with validity. Admittedly, it’s not the first of attribute I thought about. What are the chances we’re going to write a wrong test?
Automate ENV preparation with Docker and Vagrant.
While it is possible to construct situations where double produces an error, it is also just as easy to construct situations were BigDecimal get an error.
Packaging and deploying an application consisting of Puppet manifests and Chef cookbooks (Docker container requests also). Easy integration with Jenkins; XL Deploy takes care of targeting the manifests/cookbooks at the appropriate hosts and all the orchestration of the invocations. Piece of cake!
Microservices are an architectural style where each service is implemented as an independent system. They can use their own persistence system (although it is not mandatory), deployment, language...
New vulnerabilities are frequently discovered in open source components previously thought to be safe, so to keep your applications from going sour, you should rely on automation to alert you when new risks are discovered in existing applications.
Here are a few quick tips to examine your existing code to identify reuse candidates:
For maintenance purposes, it is often beneficial to separate projects into their own projects. Furthermore, the commit history for the extracted project should not be lost. With Git, this can be achieved using git-subtree.
Let’s put it this way: If the test fails the evaluation, there’s going to be work later to fix it. When would you rather do it – now, when the test is fresh in your head, or later, when you have to dive in again, into code that you haven’t seen in 6 months, instead of working on the new exciting feature you want to work on?
In the webinar Death to Manual Deployments we highlight a common problem in enterprise IT: configuration updates to middleware and applications are made on an “as-broken” basis. A developer will change the application to need a configuration tweak, which she makes on her own laptop.
Two examples of Spring Security's authentication replacement feature, often referred to as Run-As, that can replace the current user's authentication (and thus permissions) during a single secured object invocation.
The entry point of a Continuous Delivery pipeline is its Commit Stage, and as such manages the compilation, unit testing, analysis, and packaging of source code whenever a change is committed to version control.