簡體   English   中英

Maven發布插件git憑據

[英]Maven release plugin git credentials

我們正在使用Jenkins,只是從沒有身份驗證的基於文件的git repo切換到使用GitBlit通過http進行適當的身份驗證。

問題是 - maven如何在批處理模式下驗證自己

使用-Dusername-Dpassword更新每個作業(從而將密碼存儲在作業中)似乎不太可行。 我已經讀過settings.xml應該通過將git服務器指定為id來使用git,但是無論我做什么都沒有效果(即發布插件提示輸入憑據)。

pom.xml中:

<properties>
   <project.scm.id>git</project.scm.id>
</properties>
<scm>
   <connection>scm:git:http://myserver:8081/r/gitauthtest.git</connection>
   <developerConnection>scm:git:http://myserver:8081/r/gitauthtest.git</developerConnection>
</scm>

settings.xml內容

<settings>  
   <servers>  
      <server>
         <id>git</id>  
         <username>myUser</username>  
         <password>myPassword</password>  
      </server>   
   </servers>
</settings>

有沒有辦法讓這個工作? 我無法相信一項簡單且極為常見的任務,因為它沒有簡單的標准解決方案。

根據文檔,您必須使用特殊屬性project.scm.id來定義settings.xml文件中相應服務器條目的ID

<properties>
  <project.scm.id>my-scm-server</project.scm.id>
</properties>

以及settings.xml文件中的以下內容:

<settings>  
   <servers>  
      <server>
         <id>my-scm-server</id>  
         <username>myUser</username>  
         <password>myPassword</password>  
      </server>   
   </servers>
</settings>

BTW:檢查您是否使用最新版本的maven-release-plugin project.scm.id增強功能是在2.3版本中作為MRELEASE-420票證的一部分引入的 例如,如果您使用的是Maven 3.0.5,那么默認情況下您只使用maven-release-plugin的2.0版本。 太老了。 通過在POM中添加如下內容來修復:

<build>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-release-plugin</artifactId>
                <version>2.5.3</version>                
            </plugin>
        </plugins>
    </pluginManagement>
</build>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM