jenkins

Extract data-bits from your Jenkins jobs

Another quicky. I read here that cool trick to convert HTML entities to plain text: alias htmldecode="perl -MHTML::Entities -pe 'decode_entities(\$_)'" In a Debian based system, this suppose to apt-get install libhtml-parser-perl. Why bother you may ask? Well because the (awful) Jenkins-cli outputs text areas content in encoded HTML entities, and for example I like the idea of being able to test a standalone packer template that’s failing. Finally, here’s the full usecase:

Ansible playbook with packer in Jenkins

Quick one. While working on a build chain in order to register home-baked AMIs, I wanted to use the ansible-local packer provisioner to setup the instance with a very basic playbook. I needed to provide ansible a playbook but didn’t find immediately how to achieve this within the Jenkins-packer module. Turns out it’s tricky, in the JSON Template Text (or the template file), declare the playbook_file like this: [{ "type": "ansible-local", "playbook_file": "{{ user `test_yml` }}", "command": "PYTHONUNBUFFERED=1 ansible-playbook" }] Then in the File Entries field, the Variable Name must be test_yml and File Contents filled with the playbook.