I was using Travis CI to execute 271 builds and deployments of this blog. Last Friday, I decided to experiment with CircleCI and see if this could be a viable alternative to my current solution. In this blog post, I will explain why I decided to switch, and how to set up CircleCI to deploy Hexo blog to the GitHub Pages without much hustle.
A few days ago, I was struggling with some Docker images I use in my Jenkins CI environment. I run some Jenkins Pipelines, and I like to define build environment as code using custom Docker images. Everything was fine until I had to consider running different Java or Maven versions. I decided to use one of my favorite command-line tools - SDKMAN!, to build a highly configurable build environment.
Welcome to the first blog post of the "Jenkins Pipeline Cookbook" series. Today we are focus on working with Jenkins Pipeline environment variables effectively. You will learn how to define env variables, how to updated them, and how to use them in boolean expressions correctly.
A few weeks ago an interesting question was asked on the StackOverflow. Someone experimented with a recursion in Groovy and stepped into
Closure.trampoline() . It quickly turned out that using
TrampolineClosure makes a recursive execution slower. Is this a valid behavior, or do we do something wrong?
It’s been a week since GR8Conf EU 2019 is over, so it is the right time to write some recap of this outstanding event. It was my first time at GR8Conf, both as a speaker and an attendee. I spent an awesome six days in the beautiful city of Copenhagen, and I brought a lot of good memories back home. I want to share them with you in this short blog post. Enjoy reading!
GR8Conf EU 2019 starts precisely in 13 days (on May 27th). Each year Copenhagen becomes a heart of Groovy vibrant community for 3 days. The conference offers both talks and workshops, focused on Groovy related topics such as upcoming Groovy 3 release, building DSLs, using Micronaut in the cloud-native environment, or testing applications with Spock and Geb, to name a few. And that’s not even a quarter of great stuff you can expect from it. This year you can also attend one of my three talks I’m going to deliver.
"Geniuses still make mistakes and having brilliant ideas and elite programming skills don’t guarantee that your software will be a hit. What’s going to make or break your career is how well you collaborate with others", say Brian Fitzpatrick and Ben Collins-Sussman in their book "Debugging Teams. Better productivity through collaboration". It shows that crafting the ability to collaborate is equally important as learning new programming languages and mastering the ones we already know. Let’s take a quick look at how this book can help us to become a better team player and a better team leader.
Spock Framework executes test methods (features) in a single class (specification) in the declaration order. There is nothing wrong in this default behavior - we should write tests with their isolation in mind. However, in some cases, we would like to randomize test methods execution. Today we are going to learn how to do it.
In this short blog post, I would like to show you how to set a heap size of the application executed from the native image generated with GraalVM. We will also take a quick look at the effects caused the maximum heap size change.