Continuous Deployment with Gradle and Docker – Part 3

This is the third part in our series about our deployment of a JVM and AngularJS based application using Gradle as build tool and Docker as deployment vehicle. You’ll find the overview on all posts in the introductury post. As seen in the overview, our next step in the deployment pipeline performs so called e2e tests. The common Gradle project setup has already been described in part 2, so we can start with the Gradle script for the e2e test submodule.


Continuous Deployment with Gradle and Docker - Part 2

After a quite long holiday break we now continue our series about the Continuous Deployment Pipeline with Gradle and Docker. This post is about the first step where our build chain creates the Spring Boot packages and publishes them to our Nexus repository manager. As shown in the high-level overview below, it is only a quite small part of the complete pipeline: Gradle and Spring Boot provide you a very convenient build and plugin system and work out of the box for standard builds.


How to open async calls in a new tab instead of new window within an AngularJS app

I recently wanted to generate a PDF on users demand and show it in a new browser tab. Sounds trivial, at first not for me 🙂 I tried it with different „solutions“ and on my way my google search result got better and better. With „open window new tab without popup blocker async“ I finally found in this thread a nice and easy solution. The trick is to remember the reference to the new window and change the location of that window when your asynchron call completes.

  • leif

A Continuous Deployment Pipeline with Gradle and Docker

This series of posts will show you some aspects of our continuous deployment pipeline for one of our products. It is built, tested and deployed to our servers by using Gradle, while the application itself runs inside Docker containers. We want to show you how we use Gradle to implement a complete pipeline with minimal dependency on command line tools. We’ll also describe how to perform rollouts to production without the need for shell scripts or even remote shell access, by using the Docker remote API.


AngularJS 1.2 update hints

As you might have noticed, AngularJS 1.2.2 1.2.3 has been released lately, without dedicated announcement. Our update from an AngularJS 1.2-rc2 has been quite smooth, only two hints might be noteable in addition to the official migration guide. With the current version the AngularJS team has fixed some issues regarding the isolate scope as described in the changelog for the 1.2.0 release or at the relevant GitHub issues #1924 and #2500.


Passing Functions to AngularJS Directives

I recently built a custom directive that needed to call a function in its parent scope and pass some interal variables back as arguments. To be more specific: an editable label – a simple text that turns into an input field when it’s clicked and turns back into plain text, when the focus leaves the input field. On top of that, I needed it to invoke a callback function, if – and only if – the value of the input field has actually been changed.


Ordered Initialization of an AngularJS Application with Asynchronous Data Using Promises

AngularJS helps with loading your app through dependency injection based on ordered class instantiation. Nevertheless, you sometimes need to know whether any pending request or function call has been finished in order to initialize your controllers, $scope or services. This article describes our solution to split the application lifecycle into several phases, namely „instantiation“, „initialization“ and „running“. You can find the downloadable code at GitHub, a working demo is available at jsfiddle.


How to cause IE 8 to redraw pseudo elements on class change

Yesterday I spent the entire day trying to narrow down a nasty CSS bug that only surfaced in Internet Explorer 8. Everyones favourite browser didn’t redraw a pseudo element created via :before when its style got changed by adding or removing a class via JavaScript. It was a custom checkbox element with a JavaScript click handler that simply toggled a class on every click. Getting to the bottom of it Here is a jsFiddle with a trimmed down version of said checkbox.


Introduction to an Angular Scenario DSL for Remote Node Backend Configuration

This post was written by Andreas Marek (@andimarek) and Daniel Bechler (@SQiShER). In this article we’d like to introduce you to a library called node-config-ngscenario-dsl, which is our solution for advanced E2E testing with AngularJS and Node. This article may be interesting for you, if you are looking for a way to configure your Node backend right from your E2E tests. We are currently developing our first project with AngularJS. It’s a new module in a larger application and consists of an AngularJS frontend and a Java backend.

  • andihypo