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.

Application Architecture with SwiftUI
Development iOS

Application Architecture with SwiftUI

June 15, 2022

An overview of mobile application system architecture using SwiftUI

Read more
The Measure Of Success: Staying On Track From The Very Beginning
Process

The Measure Of Success: Staying On Track From The Very Beginning

July 6, 2020

Any successful project begins with a clearly defined problem to solve (Are You Solving the Right Problem?). Project stakeholders need to be able to articulate the overriding challenge succinctly from the very start. (Spoiler: this often involves narrowing your vision, and may include…gasp…removing functionality.)

Read more
The Agile (Communication) Revolution
Business Process Team

The Agile (Communication) Revolution

September 27, 2019

There have been a number of recent articles documenting Airbus 737 Max failures. Coming from an aviation engineering background, I am fascinated by mainstream coverage of a world I inhabited for years. One article in particular caught my eye. Bloomberg ran a piece on Boeing’s practice of outsourcing aspects of software development to less costly developers in other countries; the implication being that the practice was partially to blame.

Read more
View more articles