2012-12-19 6 views

Odpowiedz

2

„plik” parametr Jenkins parametryzowane Budowanie zawsze dostaje nazwę samo w swojej pracy.

Udało nam się uporządkować-of-obejście tego określając dwa parametry:

  • Jeden parametr jest typu Plik - to pobiera zawartość do pliku.
  • Inny parametr jest typu Ciąg - otrzymuje oryginalną nazwę pliku.

W naszym skrypcie, wzięliśmy jak plik mamy go za pośrednictwem pierwszego parametru,
następnie przemianowany go jako drugi.
(użytkownik musiał Wklej taką samą wartość dla obu pól ...)

UPDATE:

Jak wspomniano przez NuxJames Ruskin (i), kwestia ta została resolved around 2011,
więc masz teraz dostęp do oryginalnego pliku w następujący sposób:

Jeśli na przykład Twój parametr pliku ma nazwę File1,
następnie skrypt pobiera zawartość tego pliku w File1
i może dostęp do oryginalnego pliku przy użyciu lokalnego parametr ${File1}.

Podejrzewam robi się trudne, gdy skrypt, a użytkownik nie są na tym samym systemie operacyjnym,
tj: użytkownik zapisuje ścieżkę w systemie Windows i skrypt działa na Unix

+1

Dzięki. To co zrobiłem. Myślę, że to ograniczenie Jenkinsa. I ktoś musi zażądać tej fajnej funkcji, takiej jak ta sama nazwa pliku. Następnie param ciąg znaków nie jest potrzebny i nie można w nim popełnić błędu. –

+1

Być może byłoby łatwiej, gdyby jeden parametr wskazywał dane, a drugi przechowywałby oryginalną nazwę pliku. Powinniśmy otworzyć żądanie zmiany. – Gonen

+0

Jak wspomniano w odpowiedzi Nux, zostało to rozwiązane przez https://issues.jenkins-ci.org/browse/JENKINS-11326 - teraz pozwala ci uzyskać oryginalną nazwę pliku od wartości środowiskowej $ {parameter_name} –

11

Można pobierz oryginalną nazwę pliku z parametru o tej samej nazwie, co nazwa parametru (pole lokalizacji pliku).

Na przykład, jeśli plik jest lokalizacja „my_file”, a następnie można zmienić jego nazwę na oryginalny wykonując:

mv my_file ${my_file} 
+0

Naprawdę fajne oszustwo, dzięki! –

+0

Zostało dodane z tym problemem https://issues.jenkins-ci.org/browse/JENKINS-11326 –