elasticimages .bashrc exportes variables not available in scripts

NedH November 1, 2019

We use vault and need to have it's env vars available to all tasks. In the elasticagent instance startup script I add these vars to /home/bamboo/.bashrc but they are not available in commands to any shell scripts. When I ssh into the instance and su to the bamboo user I see the env variables.

----

...

echo 'export VAULT_ADDR=https://vault.example.net' >> /home/bamboo/.bashrc
echo 'export VAULT_TOKEN="123456-123456-1234-12345-123456" >> /home/bamboo/.bashrc

...

This is not a problem on our remote agents.

2 answers

1 vote
Alexey Chystoprudov
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
November 7, 2019

Bamboo ignores .bashrc user profile when execute tasks as part of build process. All environment variables should come from task configuration, but not agent environment. It's required for build isolation from environment state.

In your case I'd suggest to keep these properties at file somewhere at agent and then read it during script task execution

0 votes
NedH November 7, 2019

So, all the scripts we have that needs these env vars will need to source. Not an acceptable solution because security reasons and job isolation for theses variables is not a requirement.  This is only an issue on elasticagents, on our remote agents these, and a few others, environment variables are exported before the agent is started so are available to all jobs. 

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events