2010-04-28 21 views

Trả lời

14

Bạn sẽ có thể để xác định đường dẫn đến khóa bí mật trong các yếu tố server trong settings.xml của bạn:

Các kho để tải về và Triển khai được xác định bởi các yếu tố repositoriesdistributionManagement của POM. Tuy nhiên, một số cài đặt nhất định chẳng hạn như tên người dùng và mật khẩu phải không được phân phối cùng với tệp p2.xml . Loại thông tin này phải tồn tại trên máy chủ dựng trong tệp settings.xml.

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 
         http://maven.apache.org/xsd/settings-1.0.0.xsd"> 
    ... 
    <servers> 
    <server> 
     <id>server001</id> 
     <username>my_login</username> 
     <password>my_password</password> 
     <privateKey>${user.home}/.ssh/id_dsa</privateKey> 
     <passphrase>some_passphrase</passphrase> 
     <filePermissions>664</filePermissions> 
     <directoryPermissions>775</directoryPermissions> 
     <configuration></configuration> 
    </server> 
    </servers> 
    ... 
</settings> 
  • id: Đây là ID của máy chủ (không của người sử dụng để đăng nhập như là) phù hợp với các yếu tố id của kho/mirror giúp tăng Maven cố gắng kết nối.
  • Tên truy nhập, mật khẩu: Những yếu tố này xuất hiện như một cặp biểu thị tên đăng nhập và mật khẩu yêu cầu xác thực đến máy chủ này.
  • privateKey, cụm từ mật khẩu: Giống như hai yếu tố trước đó, cặp này xác định một con đường đến một khóa riêng (mặc định là ${user.home}/.ssh/id_dsa) và cụm từ mật khẩu , nếu có yêu cầu Các yếu tố cụm từ mật khẩu và mật khẩu có thể được. ra ngoài trong tương lai, nhưng đối với bây giờ họ phải được thiết lập plain-text trong file settings.xml.
  • filePermissions, directoryPermissions: Khi tệp hoặc thư mục kho lưu trữ được tạo khi triển khai, đây là các quyền để sử dụng. Giá trị pháp lý của mỗi số có ba chữ số tương ứng với * nix tệp quyền, nghĩa là. 664, hoặc 775.

Lưu ý: Nếu bạn sử dụng một khóa riêng để đăng nhập vào máy chủ, chắc chắn bạn bỏ qua các yếu tố <password>. Nếu không, phím sẽ bị bỏ qua.

Password Encryption

Một tính năng mới - mật khẩu máy chủ và mã hóa mật khẩu đã được thêm vào để 2.1.x và 3.0 thân. Xem chi tiết trên this page.

một sự chú ý đặc biệt đến "note": Nếu bạn sử dụng một khóa riêng để đăng nhập vào máy chủ, hãy chắc chắn bạn bỏ qua các yếu tố <password>. Nếu không, phím sẽ bị bỏ qua. Vì vậy, cấu hình cuối cùng sẽ được gần gũi với:

<settings> 
    ... 
    <servers> 
    <server> 
     <id>ssh-repository</id> 
     <username>your username in the remote system</username> 
     <privateKey>/path/to/your/private/key</privateKey> 
     <passphrase>sUp3rStr0ngP4s5wOrD</passphrase><!-- if required --> 
     <configuration> 
     ... 
     </configuration> 
    </server> 
    </servers> 
    ... 
</settings> 
0

Tôi biết đây là một chủ đề cũ, nhưng có vẻ như các plugin Wagon đang đọc settings.xml (ví dụ tên người dùng) nhưng không sử dụng tất cả các thiết lập. Tôi không thể yêu cầu tên người dùng/mật khẩu Kerberos trong quá trình scp. (Có vẻ như đã có những thay đổi đối với plugin cuối năm 2016 ảnh hưởng đến điều này.) Chỉ cần thêm câu trả lời này trong trường hợp nó giúp người khác.

Đối với tôi, giải pháp thậm chí còn đơn giản hơn: hoàn toàn bỏ qua bằng cách sử dụng 'settings.xml' và chỉ cần chỉ định 'scpexe' thay vì 'scp' cho giao thức (như dưới phần distributionManagement của pom.xml). Điều này sau đó sử dụng cấu hình SSH mặc định của máy của bạn (cài đặt unix trong ~/.ssh).

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>wagon-maven-plugin</artifactId> 
    <version>1.0</version> 
    <executions> 
    <execution> 
     <id>upload-to-server</id> 
     <phase>deploy</phase> 
     <goals><goal>upload-single</goal></goals> 
     <configuration> 
     <fromFile>file-to-upload</fromfile> 
     <url>scpexe://[email protected]/dirname-to-copy-to 
     <toFile>file-to-upload</toFile> 
     </configuration> 
    </execution> 
    </executions> 
</plugin> 
Các vấn đề liên quan