Vergleichen von Zeichenfolgen in der pipeline plugin jenkins
Ich bin Aufbau einer Prozess-pipeline mit der pipeline-plugin für jenkins. Ich habe einige jobs, die ich anstoßen müssen. Um zu entscheiden, welche nächsten Schritt habe ich, ich Schreibe einen return-code in einer Datei. Ich habe daraufhin diese Datei zu Lesen und eine Entscheidung treffen. Aber der Vergleich funktioniert nicht.
def returnCode = readFile 'return'
//IP in Datenbank
if ( returnCode == "1" ){
}
else{
}
Wenn ich versuche echo returnCode
druckt das Skript "1" auf der Konsole, aber es geht immer in den else-Teil. Was ist falsch an dem Vergleich?
- Ist
returnCode
TypString
? - Die Dokumentation sagt: readFile: Lesen einer Datei von workspace Liest eine Datei ein relativer Pfad (mit root im aktuellen Verzeichnis, in der Regel Arbeitsbereich) und gibt dessen Inhalt als einfacher string. Also ich finde es sollte ein string sein?
- Ist es möglich, dass Sie einige versteckte chars in der
return
- Datei, wie ein neue-Zeile-Zeichen? Vielleicht versuchentrim()
diereturnCode
string.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einer der Kommentare erwähnt, mit "trim()". Dies ist sehr wahrscheinlich das problem.
Immer wenn ich drucken Saiten beim Debuggen, habe ich immer ausdrucken, wie hier:
Wenn Sie finden Sie in der Ausgabe den Wert in einer Zeile und die "]" auf der nächsten Zeile (oder nur mit zusätzlichen Leerzeichen), das zeigt, dass Sie "trim()" den Wert.
PLS überprüfen Sie diese ein
Ich zu haben, konfrontiert gleiche Problem. Das problem ist mit neue Zeile oder Leerzeichen. Zum Beispiel:
o/p :
Nun ändern Sie einfach die return-Wert
Jetzt o/p: