Variable as a Groovy map key

Maps are the structures which can be very helpful. I’m not a developer, so I’m sure that many of you will take this post with a grain of salt. Even though, If you use Jenkins, you can face the same problem I faced some time ago. My experience with Groovy is limited to Jenkins job DSL configuration, but I always try to create a configuration as simple as possible. So sometimes my scripts are full of loops, conditionals, and variables. In one of my job, I tried to use a map and create a nested loop, where one of the Continue reading

Jenkins build priority

Jenkins has many ways of managing the job queues. We can add a static slave node, use the plugin which creates temporary nodes or just add more workers to the existing servers. But sometimes we need something else. We need a possibility to set the priority of the job. It’s not possible with additional workers or nodes, hence we should use the other way. And Priority Sorter Plugin can solve our problem. Very quickly and easy, trust me. From now, Jenkins build priority will not have any secrets! Jenkins build priority? For what?! Let’s assume such situation: We have a Continue reading

Ansible – boolean variable in extra vars

Passing variables to Playbook with extra vars flag is something normal during the daily work. Even though Ansible offers two ways to do that, you can face the problem when you need to set the true or false values. You should not do something like —extra-vars “foo=true” with the boolean values. I know, it’s quite annoying, but we need to deal with it. So, if you read this post, you wonder how you can pass the boolean variable in extra vars. And now I want to tell you how to do that in a proper way. Variable Precedence First, let’s Continue reading

Jenkins e-mail notification with Office365

Jenkins is a great tool for automation and building the Continuous Integration and Continuous Delivery/Deployment (whatever you want) systems. But the more jobs you create, the more complicated Jenkins will be. Hence you should have some tools for monitoring whether everything is ok. The most basic way to monitor Jenkins’ jobs is e-mail notification. More and more companies choose Office365 as their e-mail service. Today I will show you how to configure Jenkins e-mail notification with Office365 because it’s not so obvious as you may think. I don’t want to show you how to configure and run Post Build Publisher, Continue reading

Free IT e-books with Jenkins

Maybe some of you know PacktPub – part of the Pack Publishing Limited Company. They publish once a day a free IT e-books, which can be saved and downloaded from the account. Every day one can download another e-book from the very big library. It’s a really really great possibility, but it has one, serious problem. We must remember to take a look at the page every day. Without this, we may miss something interesting. Moreover, manual checking is not what we want to do. You wouldn’t be there if you like doing manual things, which can be done automatically! Continue reading

How to run Jenkins with docker?

Sometimes no one wants to deploy and configure the whole server and applications. Especially when the time is the scarce resource. Developers know about it – they face this problem every day. One of the solutions is docker. It helps with deploying, provisioning and automating development and production environments without the big workload. Docker can help also with learning. You do not need the create separated virtual machines for your labs. The only one you need is docker and your own notebook/PC. Forget about long configuration processes and subsequent work expenditures (removing, cleaning etc.). If you want to learn some Jenkins, Continue reading

Deploying multiple vSphere VMs with Terraform

Automation doesn’t mean only the ability to automate some process and repeating it over and over again. It means also the ability to automate every automated process – if it’s possible of course. So even if we can automatically deploy VM, why shouldn’t we try to deploy multiple machines? Everything is fine until we need to deploy three, four or more same virtual servers. It would be very annoying unless we automate also this process – process of deploying multiple vSphere VMs with Terraform. If you haven’t read my previous article, you can do it here: Deploying vSphere VM with Terraform. Continue reading

Terraform vSphere provider is alive again – hostname variable

Yes, I have been waiting for it for a long time! When Hashicorp decided to separate Terraform Core from Providers, vSphere Provider died. It lasted two months – no merging, no new releases. But it has changed at the end of the August – Chris Marchesi (better known as vancluever) took the matter into his own hands and he’s now taking care of re the repository. It’s great news, especially for those of us who use Terraform in the daily work with the vSphere. Terraform vSphere provider allows to use different hostname and name Chris has made a lot of work since Continue reading

vCloud HCL generator – small update

I should have updated my vCloud HCL generator for Terraform immediately after releasing the 0.10 version of Terraform. Unfortunately, it has been done at 2nd August 2017, so I didn’t have enough time. And I should have made it after the separating providers from the Terraform Core because the possibility of using original and translated port exists in the vCloud Director Provider code since 16th June 2017! But today I found some time and I’ve updated my code, so now it’s compatible with Terraform again. It’s a very small change because I’ve added only the one additional line with one Continue reading

Summer break and the future plans

August is a great month. Everyone can find the way to relax, but it means less time for working and writing. I should now publish a new post, but I am enjoying my break. I try to keep the two weeks between each article – it’s obvious to me that systemic is one of the most important things in blogging. Unfortunately, summer doesn’t help in regularly writing. I have begun some posts, but I can’t complete anyone of them. On the other hand, I don’t want to decrease the quality. On the contrary, I would like to publish articles which will Continue reading