2014-12-15 7 views
17

Próbuję znaleźć sposób, aby zachęcić użytkownika do wybrania i przesłania pliku generycznego z komputera lokalnego do zadania Jenkins przed kompilacją. Plik wejściowy, który użytkownik zamierza przesłać, niekoniecznie jest tekstem lub plikiem właściwości.Jak przesłać ogólny plik do pracy Jenkins?

W szczególności staram się skłonić użytkownika do "wybrania" żądanego pliku - przejdź do ich pliku; użytkownik nie powinien przekazywać ścieżki pliku.

Dzięki

+0

To może być przydatne. http://stackoverflow.com/questions/16914244/upload-a-txt-file-to-jenkins-build-job-as-build-parameter – NotAgain

+0

Używanie 'curl': http://stackoverflow.com/questions/13348480/how-to-upload-file-from-command-line-as-file-parameter-in-jenkins – jmunsch

Odpowiedz

20

użyć parametru Plik:

parametr pliku zezwala kompilacji zaakceptować plik, który zostanie przedstawiony przez użytkownika podczas planowania nowej kompilacji. Plik zostanie umieszczony w obszarze roboczym w znanej lokalizacji po zakończeniu procesu wymeldowywania/aktualizacji, aby skrypty budujące mogły korzystać z tego pliku.

enter image description here

Jeśli chcesz sprawdzić, czy plik ma pewne rozszerzenie, trzeba by zrobić ze skryptu jako część swojej pracy, a nie praca jest przedłużeniem/Content-Type nie dopasuj to, czego potrzebujesz.

+0

Dzięki, "File Parameter" działało, – DAZA

0

Jest to dość denerwujące w obsłudze, gdy nie wiesz, jak będzie wyglądać nazwa pliku, zanim zmieni się w miejsce docelowe. Musisz wykonać hack. Oto jak to zrobić:

  1. Użyj parametru „Plik parametr”, aby przesłać plik
  2. użyć skryptu OS specyficzne, aby zmienić nazwę pliku z cokolwiek o nazwie swojej File Parameter do co chcesz go mieć np jeśli mój File Parameter miał wartość File location z file_name zamiast rzeczywistej ścieżce względnej plików, bym wtedy zrobić coś takiego dla powiedzmy, Windows wewnątrz Build-Step dla „Execute Batch polecenia systemu Windows”:

move .\file_name .\%file_name%

A następnie po prostu użyj ArtefactDeployer, aby skopiować wszystko tam, w wybrane miejsce.

ps: to nie usunie podpisów cyfrowych, więc operacja przenoszenia powinna być uważana za bezpieczną.