I was asked to deliver a Maven training for a team of Java developers. This was both a nice opportunity to refresh my Maven knowledge and to finally give Prezi ( http://prezi.com) a try. I realize that slides without the presenter aren’t worth much but still – feel free to use and share. Maven Revisited by Anton Weiss

A lot has been said and written in these last 3 years in an attempt to define what DevOps really stands for. One thing most of us agree upon is that DevOps is not a job definition – it’s a culture, a mindset, a software manufacturing practice which is focused on breaking the walls between the developers and the operations. And it is a very cool and hip practice, one that everybody likes and everybody wants a piece of. So job postings for “DevOps engineers” pop up each day like mushrooms after a summer rain. And we adapt ourselves to the new realities and start calling ourselves DevOps engineers, even though half a year ago we were called CM, or integrators, or system engineers, or whatever. I myself just signed a new contract for “DevOps” role. And yes – I’m going to do DevOps. But I know that if we…

Read more

We’re running unit tests in the CI flow for our iOS products. One day the CI builds started failing with hundreds of lines of the following: profiling:invalid arc tag (0x0000000c) profiling:invalid arc tag (0x43555b2d) profiling:invalid arc tag (0x0000000c) profiling:invalid arc tag (0x43555b2d) profiling:invalid arc tag (0x0000000c) profiling:invalid arc tag (0x614d534e) profiling:invalid arc tag (0x5f787863) profiling:invalid arc tag (0x00000000) profiling:invalid arc tag (0x00000000) ** TEST FAILED ** But there were no actual failures in any of the tests.Turns out the thing to do is to clean out the derived data folder ( default: ~/Library/Developer/Xcode/DerivedData ) Problem solved 🙂 //

One of the development teams we work with is developing in TypeScript and using tslint for code analysis. We’ve established a CD process for them which involves compiling typsecript to javascript, minifying the resulting code and deploying it to a staging server. Naturally they wanted to run tslint as a part of this flow in order to get notified on any new warnings a commit might have introduced. When running static code analysis in CD flow one wants some statistics on analysis results and a nice graphic representation of the results. All these are already implemented in the Jenkins PMD plug-in.  (We’ve already used the PMD plugin successfully for representing the OCLint analysis results we run for an iOS project we support.) So the only thing we needed was formatting the tslint output according to PMD format, which is in fact a very simple xml markup. Writing a formatter was…

Read more

http://www.go.cd/2014/02/25/go-moving-to-open-source.html ThoughtWorks have been industry acknowledged experts in everything related to the practices of Continuous Integration and Delivery throughout the last decade. They were the creators of CruiseControl which was a de-facto standard tool for CI before all the new tools arrived. Neverthless their own commercial Conitnous Delivery platform named ‘Go’ has never come close to the popularity of even Bamboo or TeamCity ( not to mention Jenkins ). Two days ago they announced they are making Go open-source, obviously as an attempt to increase market share. I gave GO a test-drive a couple of years ago and it seemed like a good tool back then. Now it’s open-source I’ll definitely want to look at it again. I promise to update on my impressons.

Happened today after we relocated a staging environment machine to DMZ. >sudo service mysql start start: Job failed to start. Solution: Mysql has a bind address recorded in it’s configuration file: /etc/mysql/my.cnf bind-address    =    <your.machine.ip> Change the value to your new ip and start mysql. Should work like charm.

Someone asked at one of the forums if the DevOps hype is justified – after all “it’s something we’ve been doing for the last 20 years”… It’s a good question and here’s what I have to say: DevOps isn’t new, but the hype around it is all about the ever-growing amount and speed of change in the development process. We’ve seen large shifts in development methodologies and release strategies over the last 5-10 years – towards shorter cycles, continuous delivery, automated testing, etc. New tools and practices have been established to deal with these new requirements and organizations now clearly see the competitive advantage they provide. So yes, the discipline itself isn’t new, but it’s role in the software manufacturing process is becoming more visible and acknowledged than ever. That’s what the hype is about. //

In my overview of build automation benefits I already stated that it leads to “Less job burnout due to routine tasks”. That’s another way to say – automation is good for us lazy folks! 🙂 Well, I don’t know about you, but I’m lazy. Especially when it comes to long repetitive tasks with a lot of small steps that are easy to forget. Like closing a release baseline or cleaning my apartment. Alas, we can’t automate the apartment cleaning (as yet), but we can, and should be lazy about SDLC tasks. So how do you go about this?  Well, first of all – get out  these annoying checklists with all the steps needed to close that baseline, prepare that installation kit, merge that branch into the main stream, etc. Don’t  have the checklists? It’s all in your head?!  Well, you’ll have to write it down now – this will be…

Read more

58/58