Hudson是一種革命性的開放源碼CI服務器,它從以前的CI服務器吸取了許多經驗教訓。Hudson最吸引人的特性之一是它很容易配置:很難找到更容易設置的CI服務器,也很難找到開箱即用特性如此豐富的CI服務器。Hudson容易使用的第二個原因是它具有強大的插件框架,所以很容易添加特性。例如,一個Hudson插件可以隨時間的推移跟蹤FindBugs和代碼覆蓋。它還可以報告測試結果的趨勢(來自JUnit或TestNG)以及構建結果和對應的執行時間。持續集成持續集成(CI)是一種實踐,旨在緩和和穩固軟件的構建過程。CI能夠幫助您的開發團隊應對如下挑戰:軟件構建自動化:使用CI,您只要按一下按鈕,它會依照預先制定的時間表,或者響應某一特定事件,就開始進行一次構建過程。如果您想取出源碼并生成構件,該過程也不會局限于某一特定IDE、電腦或者個人。
Nexus介紹是Maven倉庫管理器,如果你使用Maven,你可以從下載所需要的構件(artifact),但這通常不是一個好的做法,你應該在本地架設一個Maven倉庫服務器,在代理遠程倉庫的同時維護本地倉庫,以節省帶寬和時間,Nexus就可以滿足這樣的需要。此外,他還提供了強大的倉庫管理功能,構件搜索功能,它基于REST,友好的UI是一個extjs的REST客戶端,它占用較少的內存,基于簡單文件系統而非數據庫。這些優點使其日趨成為最流行的Maven倉庫管理器。
Nexus 是Maven倉庫管理器,如果你使用Maven,你可以從Maven中央倉庫 下載所需要的構件(artifact),但這通常不是一個好的做法,你應該在本地架設一個Maven倉庫服務器,在代理遠程倉庫的同時維護本地倉庫,以節省帶寬和時間,Nexus就可以滿足這樣的需要。此外,他還提供了強大的倉庫管理功能,構件搜索功能,它基于REST,友好的UI是一個extjs的REST客戶端,它占用較少的內存,基于簡單文件系統而非數據庫。這些優點使其日趨成為最流行的Maven倉庫管理器。
第1章Maven簡介1.為什么要用maven?仔細總結一下,我們會發現,除了編寫源代碼,我們每天有相當一部分時間花在了編譯、運行單元測試、生成文檔、打包和部署等煩瑣且不起眼的工作上,這就是構建。如果我們現在還手工這樣做,那成本也太高了,于是有人用軟件的方法讓這一系列工作完全自動化,使得軟件的構建可以像全自動流水線一樣。Maven還能幫助我們管理原本分散在項目中各個角落的項目信息,包括項目描述、開發者列表、版本控制系統地址、許可證、缺陷管理系統地址等。這些微小的變化看起來很瑣碎,并不起眼,但卻在不知不覺中為我們節省了大量尋找信息的時間。除了直接的項目信息,Maven還為全世界的Java開發者提供了一個免費的中央倉庫,在其中幾乎可以找到任何的流行開源類庫,即Maven對于項目目錄結構、測試用例命名方式等內容都有既定的規則,只要遵循了這些成熟的規則,用戶在項目間切換的時候就免去了額外的學習成本,可以說是約定優于配置。
本文描述Eclipse環境下基于Maven的項目開發環境的搭建,操作系統為Windows732位中文企業版。
一個更正式的 Apache Maven 的定義: Maven是一個項目管理工具,它包含了一個項目對象模型 (Project Object Model),一組標準集合,一個項目生命周期(Project Lifecycle),一個依賴管理系統(Dependency Management System),和用來運行定義在生命周期階段(phase)中插件(plugin)目標(goal)的邏輯。 當你使用Maven的時候,你用一個明確定義的項目對象模型來描述你的項目,然后 Maven 可以應用橫切的邏輯,這些邏輯來自一組共享的(或者自定義的)插件。 別讓Maven是一個"項目管理"工具的事實嚇跑你。如果你只是在找一個構建工具,Maven能做這個工作。 事實上,本書的一些章節將會涉及使用Maven來構建和分發你的項目。
Maven簡單介紹前言Maven和ANT是Apache推出的大名鼎鼎的Build和工程管理工具,相對ANT而言Maven的優勢:1.對第三方依賴庫進行統一的版本管理。只要用了Maven2就不用再為每個項目復制spring.jar和hibernate.jar了,Maven2會在你需要的時候,自動把這些第三方依賴庫找到,你需要編譯,Maven2就把這些jar包放到classpath里,你需要打包,Maven2就幫你把需要的jar包都復制到WEB-INF/lib/目錄下。
Maven是什么項目管理工具項目對象模型(Project Object Model)坐標集合(Group Artifact Version)項目生命周期(Project Lifecycle)依賴管理系統(Dependency Management)定義運行目標(goalsinplugin’sphase)項目構建工具Ant??基本概念項目對象模型(POM)坐標(GAV)依賴管理倉庫管理POM項目關系定義(項目坐標,依賴定義)。
Ant使用XML格式的文件作為其運行的腳本,xml已經被大多數組織承認為通用的數據交換協議,具有容易閱讀,編寫,修改等良好的特性,被大多數人所接受。Ant運行的XML腳本文件中的每個元素都代表一個動作,ant通過動作調用相應的程序來執行任務,完成用戶的操作。執行命令是ant的基本目標,把完成一項任務所需的命令按照正常的順序寫入ant腳本文件,ant調用腳本順序執行,便可以完成一項大的任務。
目錄自動安裝手工安裝(本人比較喜歡和推薦的做法)pom.xml圖形化編輯工具。
1、Mavn最近實踐:版本管理1.1什么是版本管理首先,這里說的版本管理(version management)不是指版本控制(version control),但是本文假設你擁有基本的版本控制的知識,了解subversion的基本用法。版本管理中說得版本是指構件(artifact)的版本,而非源碼的版本(如subversion中常見的rXXX,或者git中一次提交都有個sha1的commit號)。
MAVEN2的Eclipse插件安裝和使用
Maven1.0已經歷了幾年的時間,并且作為Ant的替代品已被廣大的開發人員所接收,但它并沒有在很大程度使開發人員從Ant的 build.xml文件中解脫出來。Maven1.0速度慢并且笨拙,使用起來的困難度并不亞于使用Ant的項目。事實上,它的核心是基于Ant實現的。 在經過了幾乎徹底的重寫后,Maven2.0誕生了。
Maven介紹、安裝、常用命令 Eclipse下Maven項目開發 坐標與依賴 多模型開發 常用插件和自動化部署 內部倉庫使用 生成站點 Maven高級主題
Robotium自動化腳本與Hudson集成
ant是apache工程的一個子工程,是一個基于java的build工具。ant類似于make工具,但沒有傳統的make工具的缺點。傳統的make往往只能限制在某一平臺上使用,ant本身用java類實現,要構建的工程的配置文件用xml格式描述,可以很方便實現多平臺編譯,非常適合build大型工程。
開發中要用到maven,所以對maven進行了簡單的學習。因為有個maven高手在身邊,所以,很快就上手了,我這里算是自我總結吧。
第一章入門本教程所講述的內容在本教程中,您將學習Ant這個JavaTM項目生成工具。由于其靈活性和易用性,Ant很快在Java開發人員中流行開來,因此您有必要了解關于它的更多信息。在繼續學習本教程之前,你不需要具備先前的Ant經驗或知識。我們將首先查看Ant生成文件(buildfile)的基本結構,并學習如何調用這個工具。我們將逐步完成為一個簡單Java項目編寫生成文件的步驟,然后考察Ant的其他一些有用功能,包括文件系統操作和模式匹配。最后編寫一個擴展Ant功能的自己的Java類來結束本教程。在學習本教程的過程中,我們將同時展示如何從命令行以及從其他開放源代碼EclipseIDE運行Ant。
Maven是一款優秀的開源構建工具,它能夠友好的管理構建過程及Java類庫間的依賴關系。 本文介紹Maven 3在windows環境下的安裝及配置過程。MAVEN需要JDK才能正常運行,在使用本文檔前請參考《RCMS-EG-TR02-001 JDK 1.6安裝和配置手冊》完成JDK的安裝。
絕大部分Maven用戶稱Maven是一個“構建工具":一個用來把源代碼構建成可發布的構件的工具。構建工程師和項目經理會說Maven是一個更復雜的東西:一個項目管理工具。那么區別是什么?像Ant這樣的構建工具僅僅是關注預處理,編譯,打包,測試和分發。像Maven這樣的一個項目管理工具提供了構建工具所提供功能的超集。除了提供構建的功能,Maven還可以生成報告,生成Web站點,并且幫助推動工作團隊成員間的交流。一個更正式的ApacheMaven1的定義:Maven是一個項目管理工具,它包含了一個項目對象模型(ProjectObject Model),一組標準集合,一個項目生命周期(ProjectLifecycle),一個依賴管理系統(Dependency Management System),和用來運行定義在生命周期階段(phase)中插件(plugin)目標(goal)的邏輯。