Category Archives: Automation

#Bootstrap your #Mac

Some time ago I started to use Boxen to manage my laptop  and here is a link and  recently my MBP was stolen and it helped me a lot and saved lots of time. Also invested effort helped me a lot to bootstrap one more MBP provided by company I was working for. 

However recently it was clearly visible that Boxen is not maintained and even GitHub switched to another tool which simplifies things a lot which is called Strap.

Strap  is based on Homebrew and Homebrew Bundle using which it’s quite easy to manage installation of required software, set up services using Homebrew Services and even applications from Homebrew Cask and applications from AppStore using mas.

If there is an interest you can checkout my GitHub repositories homebrew bundle and dotfiles.

Just one more great cheers to @travisci

I’ve just finished preparing a demo for my upcoming talk at EPAM SEC 2013 regarding build tool Buildr.

The idea is to demonstrate usage of Buildr for building of some open source projects. I chosen next projects, written in different programming languages, CodeNarc on Groovy, JUnit on Java and spring-scala module on Scala.

It’s ok, I’ve done with switching of build to Buildr, but there is a constraint for talk – I cannot use my laptop to live demo. I was thinking about remote connection, VM preparation, and finally come up with idea to use Travis CI.

After some reading of documentation and playing with Travis CI build configuration I compete my set up, and it just wonderful how it’s easy and pretty straight forward to achieve continuous integration for open source project.

There was one trick though with using of Ruby kind of project to build Java related source code, but it was easily done with help of Bundler to install Buildr and then just execute it’s commands through

bundle exec buildr clean test

Here are my set ups:

Thanks Travis CI for great job.

#Deployment #orchestration tools

There is a set of open source deployment orchestration tools I’d like to keep in hands:

As for me this is much more interesting tool comparing to rest due it’s distributive nature, speed and scaleability. It provides a transport for Capistrano and seems not so hard to set up. It has one big issue – usage of torrent peer-to-peer transport protocol (BitTornado), in some companies it could be illegal to use. But torrent’s transport is a working horse in Murder’s case.

This tool is written in Ruby and this year was re-incarnated. After 5 years there is a new version 3.x with quite nice promises. We were used it at one project to deploy several huge Java applications but within scale Capistrano was lug a bit.

This tool is light-weight also written in Ruby. As for me it’s quite similar to Capistrano but seems should be a bit different due to used SSH library called  Weave

That’s probably it to remind me some time later.

Vagrant for JEE Developer at #JEEConf

There is a presentation from my speech at JEEConf regarding Vagrant and it’s practical usage for JEE developer –

In several words by using Vagrant and some provisioning tools, for example, Chef we can decrease routine to setting up development environments.

As for benefits:

  • development environment is like production
  • usage  of same set of recipes to set up testing or staging environments
  • effortless creation and destroying of env
  • easy sharing changes with testing team
  • less time spent on env configuration due to automation

In some time at JEEConf site will be a video from and if you’re interested you can check it out.

If your build wants to leave a daemon running behind…

If once upon a time you need to start something from Jenkins, Websphere Application Server for example, and to not to wait till server will be stopped and not to have stopped process after job finishes you can use approach described in next article

In my case I have a Linux machine and after start WAS always goes down, after I add

BUILD_ID=dontKillMe /app/was/.../ server1

Now I have running server after finished job.