2015-10-26 13 views
5

Używamy TeamCity 9.1 i domyślnego pakietu Maven w wersji 3.0.5Skąd zapisać plik security.xml ustawienia, aby użyć szyfrowania Maven?

W kompilacji używamy Mavena do interakcji z serwerem Nexus.

Chcielibyśmy zaszyfrować hasło w pliku settings.xml Maven jak opisane w tym artykule: http://maven.apache.org/guides/mini/guide-encryption.html

Wymaga to plik ustawień-security.xml które powinny być w tym samym folderze co ustawieniami Mavena .xml jeden. Plik setting.xml został zapisany w TeamCity i wdrożony na serwerze jako niestandardowy plik "Wybór ustawień użytkownika", więc nie wiem, gdzie jest wdrażany agent.

Gdzie należy zapisać plik settings-security.xml? Czy należy to ręcznie wdrożyć do wszystkich agentów? a jeśli tak, w jakim folderze to powinno być? (Mamy zarówno agentów Windows i Linux)

Nie jestem pewien, jaka jest najlepsza praktyka używania zaszyfrowanego hasła Maven w TeamCity, więc poproszę o pomoc.

Dzięki

+0

Można zapisać ustawienia '-security.xml' w tym samym folderze, w którym znajduje' settings.xml' który jest zwykle ' $ {HOME} /. M2/'... Sprawdź w TeamCity, czy ma skonfigurowanego dostawcę plików konfiguracyjnych ... – khmarbaise

+0

Jeśli użyjesz opcji -s w mvn do określenia ustawienia konkretnej instalacji.xml, jak określić odpowiedni plik setting-security.xml. Każdy jest unikalny dla kompilacji. –

Odpowiedz

0

Nie wiem, gdzie jest wdrożenie do na środek” .. ten można znaleźć w danych wyjściowych dziennika budowy .. Wystarczy sprawdzić ustawienia .. Z ustawień użytkownika plik, zwykle są przechowywane w katalogu temp w agencie kompilacji.

Podczas próby do szyfrowania za pomocą hasła (jak na encryption guide):

mvn --encrypt-password my_password 

ona spodziewa się znaleźć: Ustawienia-security.xml; jeśli tego nie ma, dostaniesz.

[ERROR] Error executing Maven. 
[ERROR] java.io.FileNotFoundException: /home/krbuild/.m2/settings-security.xml (No such file or directory) 
[ERROR] Caused by: /home/krbuild/.m2/settings-security.xml (No such file or directory) 

Więc bezpieczeństwo plik musi być zapisany na każdy agent, na którym zamierza uruchomić konfigurację budowlanej (nie w VCS). Wciąż nie ma dedykowanego wsparcia dla tej funkcji; zobacz TW-39595

Praca obejmie ustawienie właściwości agenta, np.

path.to.maven.security=/path/to/file/security-settings.xml 

Następnie odnosi się do niej w swojej Maven etapu budowy:

-Dsettings.security=%path.to.maven.security% 
Powiązane problemy