System Wide Environment Variables in Bamboo

January 29, 2015

We use Atlassian Bamboo as our build system of choice due to the convenient integration with the rest of our tools. Bamboo works great but has a few quirks. One that we recently ran in to while setting up some unit tests was that the tests were working locally but failing on the build server (a Mac Mini). The failing test was one relating to the ability to properly handle UTF characters in a push notification and was failing with

UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-13: ordinal not in range(128)

Playing around, we were able to find that there was an environment variable being set during interactive login (LANG) that was not being set by the build server’s test runner. A simple method to work around this would be to add it to the configuration for that specific job but since we normally work in UTF, we tried looking for a better way to make the build server look like a normal system.

To add the environment variable system wide, we ended up having to add to the $BAMBOO_HOME/bamboo-agent.sh startup file. This start file sets up the environment that the build slave runs in so we can use it to help standardize our environments across multiple operating systems and user configurations and now we’re back to making sure that users can use all their UTF-enabled Emoji to keep

Joshua Hulst
Joshua Hulst
Co-founder & Managing Partner

Stay in the loop with our latest content!

Select the topics you’re interested to receive our new relevant content in your inbox. Don’t worry, we won’t spam you.

Big Victories with Big Data
Business

Big Victories with Big Data

December 18, 2019

The term (“big data”) is often misunderstood or misapplied - the following is an attempt to help you better understand the concept so you can apply it in your professional world.

Read more
Bringing Agile Home
Miscellaneous

Bringing Agile Home

August 26, 2020

My life often resembles a game of Whack-A-Mole. The moment I complete one task two more pop up. To avoid getting behind, I jump on new tasks almost immediately. Then at some point along the way my wife will innocently ask if I’ve scheduled my appointment with the Secretary of State. Realizing that an up-to-date driver’s license takes priority over a squeaky hinge, I put down my tools and book my online appointment.

Read more
Kotlin Multiplatform
Android Development iOS

Kotlin Multiplatform

July 14, 2022

A brief look at Kotlin Multiplatform Mobile, a newer cross-platform mobile application framework.

Read more
View more articles