2016-04-15 1 views
1

Ich übergebe einen geheimen Wert mit -D in Maven Ziele und Optionen auf Jenkins. Ich möchte diesen geheimen Wert aus Sicherheitsgründen nicht zur Konsole ausgeben. z.B. Maven Befehl in Toren und Option auf Jenkins wie folgt aussehen:Drucken Maven Ziele und Optionen Befehl zu Console Output in Jenkins

clean install -DnewSecret=newGeneratedSecret 

Wenn der Auftrag ausgeführt wird dies in der Konsolenausgabe gedruckt wird:

Executing Maven: -B -f /workspace/pom.xml clean install -DnewSecret=newGeneratedSecret 

Jede Idee, wie zu stoppen diesen Druck? Ich habe versucht, diese aber nicht funktioniert:

clean install -q -DnewSecret=newGeneratedSecret 
clean install -DnewSecret=newGeneratedSecret > null 

Update: beachten Sie bitte die geheimen Wert ist ein Wert erzeugt, der dann als env Variable verwendet EnvInject jenkins Plugin.

Antwort

1

Sie können die Mask Passwords Plugin verwenden, um eine maskierte Variable für newSecret (zB "SECRET" genannt) zu definieren, unter Build Environment> Maske Passwörtern und es dann als Umgebungsvariable in Ihren Maven Optionen verwenden:

clean install -DnewSecret=${SECRET} 

Die Konsole würde dies zeigen:

Executing Maven: -B -f /workspace/pom.xml clean install -DnewSecret=********** 
+0

dank aber meine Geheimnisse innerhalb Code (groovy) erzeugt ich kann sie nicht manuell einstellen. – webDeveloper

+0

Ok, das ist es wert zu erklären. Wie konfigurierst du deine Maven-Optionen? –

+0

Ich schreibe das generierte Geheimnis in eine Prop-Datei und benutze dann das EnvInject-Plugin, um Umgebungsvariablen zu erstellen. Im Build-Schritt gibt es ein Eingabefeld "Ziele und Optionen", wo ich das env an maven übergebe – webDeveloper