Building a Continuous Delivery flow was not our only goal. Getting automated testing in there would be very helpful. So the first idea was to get visual testing going using Appium. That took me a day or so, but we got it working.
The tests are very simple and for now only prove that tapping or clicking works, the assertions are not finished yet. Tests are written in ‘Mocha’ style and can be executed from the command line and as a job on our Jenkins servers later on :
So now we are a day forward in the new year and I realized I’d like to say something about it. For me 2015 has been a big year: finished my studies, learning new things about javascript, cloud business, apps, Agile and DEVOPS, amazing vacationing to Portugal with my love, a couple of weeks in the U.K. with the family in the summer, getting to run 10 KM … a lot of things.
This year we created Continuous Integration (CI) for CHECK, but since last month we also are in the process of creating an automated build for our mobile projects. In the DEVOPS and Agile world we call this Continuous Delivery (CD). Why would we do this? Mainly for trying to speed up delivery of applications and in shorter iterations. We noticed in the initial projects we lost a lot of time because of deployment issues, especially with all the different App Stores around.
We are using Jenkins Continuous Integration Server for automating tasks that would otherwise take days and generate more errors surely. We build the database server and web infrastructure daily for our most important application (legacy with asp classic,NET 2.0/3.5 parts and a lot of Oracle 11g PL/SQL components). When completed, a set of integration tests are run with selenium. Deployment workflow
How we came to this
While developing on a dedicated test server for years we encountered integration problems frequently when deploying code to production.
One of the important concepts that came to DEVOPS from the Extreme Programming guys was Continuous Integration. It means you build and assemble together daily all the software that has been developed for your product and runs tests if it all still works.
CI workflow
When someone made an error or introduced a sneaky bug that breaks the product (we call it ‘regression’), it is immediately clear and this way it can be handled before shipping.
It has been around for some years but when I read about this concept last year I immediately felt comfy: DEVOPS. It’s actually two words and it means the marriage between IT development and IT operations.
Operations problem
When these departments or people do not communicatie, bad things happen. I have seen this in person and felt it in person. I remember nightly visits to a datacenter in Rotterdam to reboot Unix boxes in the middle of the night (remember Girotel Online dutchies).
It is called spookie! Doris and Tessel both contributed. Click here to play and view it!
Monsters all around!
The moon through a nice filter
Relief in the dark
Lots of shading and relief
Clean picture of the moon
Alone in the dark
At one of the projects we do for KPN we use Oracle as a database. For some daily batches we use the external tables mechanism to load data from files we receive from another supplier in the chain.
The files are in the comma separated values (csv) format like below (I used the Oracle example):
56november, 15, 1980 baker mary alice 09/01/2004 87december, 20, 1970 roper lisa marie 01/01/1999
Oracle can represent this file as a table internally and you can subject it to SQL-queries this way.
This is a translation of the first part of the introduction of my thesis:
The need for relevant information to distinguish yourselves from others, making you faster than your competitor, has existed since the creation of the first societies. In the course of recorded history more and more data accumulated in different administrations. Since the advent of the computer and the use of databases, there are all kinds of new possibilities to analyze this data and transform it into useful information.