国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Jenkins中使用Git和Maven之多個項目

開發 后端
Maven中有一個Aggregation(聚合),可以將多個項目作為模塊添加到一個pom.xml中,然后告訴Jenkins這個頂層pom.xml,就可以自動從Git中拿出這些項目的源代碼,并build所有的子項目和運行相應的測試程序。我這里使用的是TestNG。

1.應用Aggregation管理多個子項目

Maven中有一個Aggregation(聚合),可以將多個項目作為模塊添加到一個pom.xml中,然后告訴Jenkins這個頂層pom.xml,就可以自動從Git中拿出這些項目的源代碼,并build所有的子項目和運行相應的測試程序。我這里使用的是TestNG。

比如我有兩個maven項目client和email_sender,我希望一次編譯并測試,在這兩個項目文件夾之上的目錄上添加一個pom.xml,內容如下:

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
  2.   <modelVersion>4.0.0</modelVersion>  
  3.  
  4.   <groupId>com.kaimei.datacenter</groupId>  
  5.   <artifactId>cml</artifactId>  
  6.   <version>2.0</version>  
  7.   <packaging>pom</packaging>  
  8.  
  9.   <modules>  
  10.     <module>client</module>  
  11.     <module>email_sender</module>  
  12.   </modules>  
  13. </project> 

然后只要告訴Jenkins中這個pom.xml的路徑即可。點擊build now進行測試,可以看到兩個子項目都已經被下載源代碼和編譯,運行了TestNG的測試程序。

注意module名稱應該是子項目的目錄名。

2.多個項目之間的依賴關系管理

client和email_sender項目在上例中沒有關聯關系,為了演示持續集成在依賴樹的build管理,現在建立一個新的maven項目名叫mongo_utility,這個項目提供了一個類DBManager封裝了MongoDB的連接,代碼來源于我的另一篇文章:http://blog.csdn.net/sheismylife/article/details/7090526

client項目和email_sender項目都通過DBManager類來和MongoDB建立連接。因此它們的pom.xml中都有這一段:

  1. <dependency> 
  2.   <groupId>com.kaimei.datacenter</groupId> 
  3.   <artifactId>mongo_utility</artifactId> 
  4.   <version>1.0</version>        
  5. </dependency> 

build成功。仔細看Console Output,Jenkins的行為和直接使用mvn clean compile不太一樣。Jenkins會將mongo_utility的源代碼取出來,然后重新編譯,安裝到本地倉庫,然后再編譯其他兩個工程。如果直接敲mvn clean compile的話,mongo_utility-1.0.jar會直接從私服上下載然后安裝,不會編譯。

3.多個項目共享相同的設置

client,email_sender和mongo_utility三個項目都用到了mongodb java library,為了便于管理,沒有必要讓它們各自的pom.xml中都定義相同的dependency。Maven將每個項目的pom.xml看作一個工程對象,通過繼承可以讓它們共享同一個配置。

在頂層的pom.xml中添加mongodb依賴:

  1. <dependencies> 
  2.   <dependency> 
  3.     <groupId>org.mongodb</groupId> 
  4.     <artifactId>mongo-java-driver</artifactId> 
  5.     <version>2.7.2</version> 
  6.   </dependency> 
  7. </dependencies> 

然后在client,mongo_utility和email_sender項目的pom.xml中分別刪除上面的依賴,并添加如下配置:

  1. <parent> 
  2.   <groupId>com.kaimei.datacenter</groupId> 
  3.   <artifactId>cml</artifactId> 
  4.   <version>1.0</version><!-- or whatever version you use --> 
  5.   <relativePath>../pom.xml</relativePath> 
  6. </parent> 

然后測試,大功告成。

4.模塊部署到nexus服務器上

如果想將某個模塊項目比如這里的mongo_utility項目部署到nexus服務器上,需要調整頂層目錄的pom.xml,加上下面的配置:

  1. <distributionManagement> 
  2.   <repository> 
  3.     <id>sheismylife</id> 
  4.     <url>http://S1:8081/nexus/content/repositories/sheismylife</url> 
  5.   </repository> 
  6. </distributionManagement> 

但是這樣三個模塊項目都自動繼承了deploy功能。其實我只想mongo-utility模塊部署到nexus上,暫時把問題放在這里吧。

然后在頂層目錄上執行mvn clean deploy,一切順利。將代碼提交到git倉庫中,然后修改Jenkins的項目配置頁面,添加clean deploy命令。

點擊Build Now按鈕,看看結果,一切OK.值得一提的是,如果你通過mvn命令行執行正確,而通過Jenkins執行錯誤,重新啟動一下Jenkins服務,或許能解決。我已經碰到幾次了,似乎Jenkins有bug.

5.通過Jenkins將web項目部署到Glassfish或者Tomcat

基本做法還是通過Maven項目的plugin來完成部署。有一個問題是如果web項目和其他幾個項目都作為一個大項目的模塊被聚合在一起,而且都繼承某個parent pom.xml,那么如何用一個Maven命令就能編譯所有的模塊,部署到nexus私服,而且將web項目發布到Glassfish或者Tomcat上。還正在研究,希望能夠夠通過Maven來實現這個功能。

6.一個Jenkins上的多個project之間的順序執行

這個很簡單,Jenkins的project配置里面可以設置在某個project之后build,或者在本project build之后build other project.

7.多個Jenkins之間的遠程調用

S1上的Jenkins A調用某個shell腳本,比如curl http://S2/job/test/build

S2上的Jenkins B的test project就會被觸發

原文鏈接:http://blog.csdn.net/sheismylife/article/details/7214683

【編輯推薦】

  1. 探究Java初始化的過程
  2. Java集合框架的知識總結
  3. Java與F#的并行程序處理對比
  4. Java并發編程之同步互斥問題
  5. Java中String.format的用法
責任編輯:林師授 來源: sheismylife的博客
相關推薦

2012-03-20 10:31:11

GitMavenJava

2010-05-25 16:39:56

SVN中使用Git

2024-10-06 13:41:25

2010-05-25 16:52:39

SVN中使用Git

2021-07-26 05:21:37

JenkinsAndroid自動化

2014-03-19 10:01:16

Git項目遠端倉庫

2015-08-03 11:45:37

storyboard

2022-02-14 06:35:26

git參數Jenkins開發

2021-01-05 20:24:04

Git開源軟件開發

2009-06-24 17:34:58

使用JSF的經驗

2009-07-21 17:27:12

UpdateProgrASP.NET AJA

2023-09-25 10:02:00

GitVS Code

2020-09-17 06:00:21

Git

2022-10-11 16:53:22

GitLinux

2022-06-01 14:35:39

gitjmeter腳本

2023-11-30 09:00:00

TypeScript開發

2020-10-27 07:31:35

GitGit RevertGit Reset

2018-11-26 09:20:26

GrailsjQueryDataTables

2021-09-02 14:32:25

企業項目開發

2015-01-26 09:57:47

GradleMaven Centr
點贊
收藏

51CTO技術棧公眾號

中文字幕在线第一页| 一区在线影院| 婷婷精品久久久久久久久久不卡| 麻豆精品国产传媒mv男同| 国产精品成人一区二区不卡| 亚洲人成网站影音先锋播放| 91高清在线免费观看| 欧美成人小视频| 日韩免费一级视频| 国产高清亚洲| av高清不卡在线| 久久精品久久久久电影| 欧美日韩黄色一级片| 日韩成人精品视频| 亚洲人成电影在线播放| 国产真人做爰毛片视频直播| 深夜福利一区二区三区| 一色桃子久久精品亚洲| 成人看片在线| 国产精品论坛| 国产精品午夜免费| 高清视频在线观看一区| 久久中文字幕av一区二区不卡| 91久久精品一区二区三区| 美日韩精品免费| 激情久久一区二区| 一区二区三区四区在线| 成人一区二区在线| 亚洲国产精品91| 日韩电影中文 亚洲精品乱码| 日韩中字在线观看| 成人av资源在线| 国产在线999| 成人ww免费完整版在线观看| 国精产品一区一区三区mba桃花 | 卡一卡二国产精品| 蜜臀av性久久久久蜜臀av| 91亚洲精品在看在线观看高清| 国产精品国产三级国产aⅴ原创| 亚洲自拍偷拍色片视频| 男女羞羞在线观看| 有码一区二区三区| 头脑特工队2在线播放| 国产精品99久久久久久有的能看 | 日韩电影免费看| 自拍亚洲一区欧美另类| 黄页网址大全在线播放| 国产一区二区三区的电影 | 夜级特黄日本大片_在线 | 久久精品ww人人做人人爽| 四虎国产精品免费久久5151| 欧美极品美女视频网站在线观看免费 | 欧美www视频| 国产国产国产国产国产国产| 日韩精品久久久久久| 在线视频91| 天天综合国产| 蜜桃91精品入口| 不卡电影免费在线播放一区| av手机免费观看| 久久久久久国产精品免费免费| 久久综合之合合综合久久| 成人一区二区三区| 精品不卡一区二区三区| 日韩在线观看一区二区三区| 性色av一区二区咪爱| 婷婷在线播放| 亚洲免费观看视频| www.xxx麻豆| 爽好多水快深点欧美视频| 国产精品电影久久久久电影网| 成人影院www在线观看| 亚洲一区999| 免费男女羞羞的视频网站在线观看| 午夜不卡av免费| 亚洲免费一级视频| 久久精品国产99国产精品| 99精品视频播放| 粉嫩嫩av羞羞动漫久久久| 国产精品亚洲一区| 狠狠做六月爱婷婷综合aⅴ| www.亚洲免费视频| gogo久久| 91精品国产高清一区二区三区| 夜色福利资源站www国产在线视频| 91一区在线观看| bt天堂新版中文在线地址| 亚洲精品色图| 琪琪亚洲精品午夜在线| 国产精品久久久久久久久久辛辛| 国产精品劲爆视频| 丁香啪啪综合成人亚洲小说 | 北条麻妃一区二区三区| 精品影院一区| 姬川优奈aav一区二区| 天天干天天玩天天操| 成人h精品动漫一区二区三区| 国产91久久久久蜜臀青青天草二| 日韩精品视频中文在线观看 | 懂色一区二区三区av片| 国产日韩一级二级三级| 欧美精品久久久久久久自慰| 在线观看国产一区二区| 中文字幕免费在线| 欧美xxxx做受欧美| 国产在线精品国自产拍免费| 欧美一区二区三区少妇| 久久精品视频免费| 日本高清在线观看视频| 91人人爽人人爽人人精88v| 亚洲成av人片一区二区密柚 | 久久99久久精品欧美| 亚洲精品一区二区三区樱花| 热久久一区二区| 自拍偷拍99| 色美美综合视频| 欧美日韩国产一区二区三区不卡| 日韩免费在线视频| 91精品天堂福利在线观看| 日本一区二区黄色| 91色porny蝌蚪| 欧美午夜aaaaaa免费视频| 亚洲高清久久久久久| 在线黄色的网站| 色老头一区二区三区在线观看| av成人亚洲| 精品国内产的精品视频在线观看| 亚洲影音先锋| 天堂а√在线中文在线| 欧美videos中文字幕| 红桃视频欧美| 吴梦梦av在线| 久久婷婷色综合| 日本aa大片在线播放免费看| 天天色综合天天| 菠萝蜜一区二区| 欧美日韩系列| 久久伊人中文字幕| 国产精品天堂蜜av在线播放| av一区二区三区免费观看| 亚洲一区www| 国产亚洲欧美一级| 国产精品自在| 久久涩涩网站| 精品国产99国产精品| 日本少妇精品亚洲第一区| 97免费视频观看| 日韩视频在线观看免费| 国产三级一区二区| 精品盗摄女厕tp美女嘘嘘| 男人天堂v视频| 3d动漫精品啪啪一区二区三区免费| 视频在线在亚洲| 免费一二一二在线视频| 亚洲国产成人精品无码区99| 久久91亚洲人成电影网站| 欧美日韩少妇| 国产精品igao| 正在播放亚洲一区| 国产精品一区免费在线| 日日噜噜夜夜狠狠| 国产精品久久久久久av福利| 一本一道波多野结衣一区二区| 九色porny视频在线观看| 黄网站色视频免费观看| 欧美情侣性视频| 精品久久久久久久久久久久| 亚洲大胆av| 拍拍拍999自拍偷| 日韩精品一区二区三区蜜臀| 精品久久国产一区| 免费久久久一本精品久久区| 精品国产乱码久久久久久图片| 国产精品羞羞答答xxdd| 污黄视频在线看| 国产女人水真多18毛片18精品| 欧美—级在线免费片| huan性巨大欧美| 欧美日韩精品在线一区二区| 91极品视觉盛宴| 久久成人免费网站| 极品一区美女高清| 日本福利视频在线观看| 欧美高清视频免费观看| 国产一区在线观看视频| 日韩精品成人在线观看| 波多野结衣av在线| 欧美黄色免费网站| 色婷婷久久久亚洲一区二区三区| 蜜臀av国产精品久久久久| 波多野结衣av在线播放| 在线免费观看成人| 国产精品99久久久久久www| 成人av高清在线| 要久久爱电视剧全集完整观看| 日韩一级片免费视频| 国产欧美韩国高清| 一区二区三区四区乱视频| 亚洲高清激情| 亚洲精品在线播放|