使用Maven+Svn+Hudson持續整合開發流程執行個體【搭建二】

來源:互聯網
上載者:User

【說明】使用maven+svn+hudson進行持續整合開發方法 一 : 使用maven管理項目 1 maven主要的設定檔settings的主要配置介紹

settings檔案的主要配置的解釋:

localRepository: 本地倉庫配置路徑

offline : 是否是離線的,這個一般不用配置,離線的話會無法下載中央倉庫的包

servers: 配置使用者名稱密碼,用來訪問nexus

mirrors:用來訪問其他庫

profiles :個人化配置,需要啟用 2:在pom.xml檔案配置上傳的路徑,例如如下[可以把上傳的路徑和下載路徑寫為同一個]

1)      配置pom檔案

      <distributionManagement>           <repository>              <id>nexus-releases</id>              <name>releases</name>              <url>http://127.0.0.1:8081/nexus/content/repositories/releases/</url>         </repository>   </distributionManagement>


2) 執行命令 :mvndeploy

    結果如下:

      3:配置下載的路徑

   1)主要設定檔: 

   

 <repositories>    <repository>       <id>central</id>       <name>Central</name>       <url>http://127.0.0.1:8081/nexus/content/repositories/central/</url>       <releases>         <enabled>true</enabled>       </releases>     </repository>   </repositories>

 

                                     

2)  添加一個依賴會自動下載

此圖為測試了加上一個本地沒有的依賴後會從 私人中央倉庫下載jar包,下載的路徑為pom.xml配置的中央倉庫路徑而非預設路徑


4把普通項目轉化為maven項目的方法:

1)首先eclipse已經安裝了maven的外掛程式,並且已經配置好了.

2)建立一個空的maven項目

   

  3) 把項目中的java檔案放在maven對應的目錄下

    

  4) 配置 pom.xml檔案,添加依賴,和上傳中央倉庫路徑,從中央倉庫下載jar包的路徑

配置pom.xml依賴

會顯示如下介面,尋找需要的jar即可

二: 使用maven整合nexus 管理中央倉庫 1下載nexus檔案

本執行個體用的版本時nexus-2.5.1-01-bundle.zip,下載地址可以在官網上下載 2啟動nexus 。先解壓nexus,然後cmd到解壓後的目錄下,啟動服務

[預設的中央倉庫的路徑就是在當前的目錄下]

[Central下載倉庫路徑]:
3 開啟首頁

http://127.0.0.1:8081/nexus/index.html#welcome

在右上方登入 admin/admin123會進入到首頁面

4中央倉庫結構

Repositories 是中央倉庫集合,下面分為幾個倉庫,有Releases(發布版)/Central(中央倉庫)/Snapshots(開發版)等多個倉庫 5 私人倉庫

使用者遠程使用自己建立私人的中央倉庫已在上一章的3說到了,想要使用私人倉庫需要進行一些配置,選中Central,開啟configuration,如下圖所示:


預設 DownloadRemote Indexes 為false,改為true,儲存即可。重新登入並堅持倉庫路徑,發現好多常用的jar包已經被下載

三: 整合hudson持續整合開發

  實現了jar包上傳下載管理後,如果是個較大的項目,需要保證項目持續整合開發的話,還需要使用hudson,進行對項目的定時編譯 1 下載hudson ,本執行個體下載是最新的,可以很容易在官網上下載

  hudson-3.0.1.war 2 啟動hudson,預設使用的是8080連接埠

因為hudson是個jar檔案,所以

Cmd到hudson目錄下

輸入命令

 java -jar hudson-3.0.1.war

  3 開啟首頁

http://localhost:8080/,如下圖所示:


4 進行系統配置:

只配置兩個地方jdk路徑和maven的路徑,如圖:


下面就可以進行建立新的工程了,在建立工程前,持續開發用到了svn,所以要先進行

SVN的配置 5 SVN配置

Svn主要需要下載三個資源(用戶端,伺服器端,Eclipse的SVN外掛程式)

測試執行個體用的路徑為 file:///d:/MySVNRepo,啟動好服務後,把代碼上傳到SVN上 6 建立Hudson工程

選擇構建一個自由式饒舌的軟體項目 7 填寫svn路徑

此處需要加上SVN資源路徑: file:///D:/MySVNRepo/mavenT

8 填寫執行循環和maven的執行命令點擊儲存

*/10****  表示每隔10分鐘構建一次

  9 點擊立即構建,查看構建結果,編譯成功

點擊console可以查看項目構建的流程

1)      先建立一個工作空間workspace

2)      更新svn的檔案,查看是否有更新變化,如果有就會下載下來

3)      執行命令mvn XXXX(命令)

4)      返回結果 SUCCESS/FAILURE

 如果看的不清楚,請看下面詳細記錄

Started by user anonymousUpdating file:///D:/MySVNRepo/mavenCheck2 revision: 2013-7-17 13:52:26 depth:infinity ignoreExternals: falseU         src\main\java\com\check2\CheckMaven2.javaAt revision 18[workspace] $ mvn.bat package[INFO] Scanning for projects...[WARNING] [WARNING] Some problems were encountered while building the effective model for propCheck2:mavenCheck2:jar:8.0.0[WARNING] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: activeio:activeio:jar -> version 1.1 vs 2.0-r118 @ line 35, column 15[WARNING] [WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.[WARNING] [WARNING] For this reason, future Maven versions might no longer support building such malformed projects.[WARNING] [INFO]                                                                         [INFO] ------------------------------------------------------------------------[INFO] Building mavenCheck2 8.0.0[INFO] ------------------------------------------------------------------------[INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ mavenCheck2 ---[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent![INFO] Copying 0 resource[INFO] [INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ mavenCheck2 ---[INFO] Nothing to compile - all classes are up to date[INFO] [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ mavenCheck2 ---[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent![INFO] Copying 0 resource[INFO] [INFO] --- maven-compiler-plugin:2.5.1:testCompile (default-testCompile) @ mavenCheck2 ---[INFO] Nothing to compile - all classes are up to date[INFO] [INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ mavenCheck2 ---[INFO] [INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ mavenCheck2 ---[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 6.767s[INFO] Finished at: Wed Jul 17 13:52:50 CST 2013[INFO] Final Memory: 7M/17M[INFO] ------------------------------------------------------------------------Finished: SUCCESS


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.