I am working on developing a solution that simplifies hands-on debugging of failed Jenkins builds. This involves SSH-ing to the right Jenkins node and going directly on the WORKSPACE so you can interactively try different changes that could solve your problem.
While I solved the problem of starting a SSH session in the right directory there is one missing bit: your shell is missing the original environment variables defined by Jenkins, and these are critical for running any commands after that. So, not the first command of the build is a set > .envrc
which saves all into this shell file.
My example refers to the direnv
tool which is able to auto-load .envrc
files. Due to security concerns this tool does not auto-load these files and gives a message direnv: error .envrc is blocked. Run
direnv allowto approve its content.
So my current solution is to manually run direnv allow
after ending up in the right folder.
How can I automate this, so I would not have to type this? A prompting could be ok because it would involve only pressing one key instead of typing ~12.
Please note that I am not forced to use direnv
itself, I am open to other solution.