Intelligente Lösungen
in neuer Dimension

Bamboo: Wert einer Passwort-Variablen ermitteln

Bei Bamboo kann man eine oder mehrere Passwort-Variable (=Variable, die im Namen “password” enthält) setzen. Im Build-Log von Bamboo wird der Wert dieser Variablen dann maskiert, Werte von “normalen” Variablen sieht man:

1
2
3
4
5
6
7
8
...
command   23-May-2019 17:15:23    Substituting variable: ${bamboo.BUILD_USER} with my.build.user
command   23-May-2019 17:15:23    Substituting password variable: ${bamboo.BUILD_PASSWORD}
...
command   23-May-2019 17:15:23    Beginning to execute external process for build....
running command line:
../gradlew -Puser=my.build.user -Ppassword=********
...

Wenn man in einem Build-Skript den Wert einfach ausgibt, so erscheint dies zwar im Log, leider ist der Wert aber auch dort maskiert. Das soll vermutlich verhindern, dass man einfach an den Wert herankommt.

Manchmal braucht man ihn aber doch, bspw. wenn die ursprüngliche Bamboo-Job-Einrichtung nicht vernünftig dokumentiert und der “Einrichter” nicht mehr erreichbar ist.

Abhilfe:

1
2
echo "Password (maskiert): ${bamboo_BUILD_USER} - ${bamboo_BUILD_PASSWORD}"
echo "Password (base64):   ${bamboo_BUILD_USER} - $(echo "${bamboo_BUILD_PASSWORD}"|base64)"

Die Ausgabe im Build-Log sieht dann grob so aus:

1
2
Password (maskiert): my.build.user - ********
Password (base64):   my.build.user - MTIzNDU2Cg==

Den richtigen Wert des Kennwortes ermittelt man dann mit:

1
2
$ echo "MTIzNDU2Cg=="|base64 -d
123456

In unserem Fall hat das Kennwort also den Wert “123456”.