2010-04-28 54 views

回答

14

你應該能夠指定要在你的settings.xml的server元素的私有密鑰的路徑:

下載的資料庫和 部署通過的 POM中的 repositoriesdistributionManagement元件限定。但是,某些設置 (如用戶名和密碼) 不應與 pom.xml一起分發。這個類型的信息 應該存在於構建服務器 的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:這是 服務器的ID(不是作爲登錄用戶)該 庫/鏡Maven在嘗試 連接到的id元素相匹配 。
  • 用戶名密碼:這些元素顯示爲一對錶示驗證到這個 服務器所需的登錄名和密碼 。
  • 專用密鑰密碼:如同前面的兩個元件,這對指定的私有密鑰的路徑 (默認爲 ${user.home}/.ssh/id_dsa)和 密碼,如果需要, 密碼和密碼元素可以 是。在未來的外部化,但 現在他們必須設置在 settings.xml文件明文。
  • filePermissionsdirectoryPermissions:在部署時創建的存儲庫文件或目錄爲 時,這些是要使用的 權限。每個合法值爲 是一個三位數字 ,對應於* nix文件 權限,即。 664,或775

注:如果您使用的私鑰 登錄到服務器,請確保您 省略<password>元素。 否則,密鑰將被忽略。

密碼加密

一個新的功能 - 服務器密碼和口令 加密已被添加到 和2.1.x的樹幹3.0。在this page上查看詳情 。

派發特別注意「注」:如果使用私鑰來登錄到服務器,請確保您省略了<password>元素。否則,密鑰將被忽略。所以最終的配置將接近:

<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

我知道這是一個古老的線程,但它看起來像旅行車插件讀取的settings.xml(如用戶名),但沒有使用所有的設置。我無法停止在scp期間詢問Kerberos用戶名/密碼。 (看起來2016年下半年插件可能會有變化,影響到這一點。) 只需添加此答案以防別人幫助其他人。

對我來說,溶液是更簡單:完全跳過使用「的settings.xml」 和簡單地指定的,而不是「SCP」「scpexe」的協議(如下的pom.xml的distributionManagement部分)。然後這會使用您計算機的默認SSH配置(〜/ .ssh下的unix設置)。

<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> 
相關問題