發表文章

目前顯示的是 3月, 2010的文章

軟體開發團隊工具心得粉絲團

最近發佈幾篇關於Hudson的安裝與使用的Blog文章, 覺得寫的有點凌亂, 原因出在我對Google docs使用上並不是很熟練, 我的Blog文章是透過Google docs編輯,然後發佈到blogger.com, 使用上很簡單, 但是格式會亂掉, 在Google docs上看編輯好的文章, 格式還算工整, 但是發佈到blogger.com後, 有些標題會黏在一起, 視覺效果就會變得很零亂, 幾經思考, 往後這種軟體工具的分享文, 移回公司的codebeamer server, 改用wiki編輯, 這些分享文是不用登入就可以看的, 我也在Facebook成立了一個粉絲團, 透過這個粉絲團來發佈我寫的軟體開發工具安裝與使用的分享文的文章連結. 以下是這兩個網站的網址 軟體開發團隊工具安裝與使用筆記 軟體開發團隊工具心得分享粉絲團 歡迎舊雨新知有空來捧捧場, 並給於批評與指教

Hudson+Continuous Integration筆記-5

圖片
閱讀本篇文章, 請先閱讀 Hudson+Continuous Integration筆記-1 Hudson+Continuous Integration筆記-2 Hudson+Continuous Integration筆記-3 Hudson+Continuous Integration筆記-4 在前一篇文章介紹了Hudson的使用者管理部分, 接下來筆者要介紹如何建立一個Build Job, 並示範在Build Server設定SCM Server連結 建立Build Job 設定Build Job的執行內容 與SCM Server做連結 檢視工作區 建立Build Job 在前一篇文章, 筆者有提到使用者權限設定, 假設你的使用者帳號有以下權限, 就可以建立Build Job 點選 "起始新工作" 建立Build Job 輸入Build Job名稱, 與Job的類型, 在這個範例, 筆者選用 "Build a free-style software project", 按下 "OK" 鍵, Build Job就建立了 設定Build Job的執行內容 與SCM Server做同步 Build Server最重要的就是與SCM Server的連結, Hudson安裝好後即內建CVS/Subversion的連接, Hudson可以透過安裝Plugin來支援其他的SCM Server,例如Git,Mercurila,ClearCase ,本範例是示範連結Subversion Server 選擇Subversion後輸入Subversion repository的URL, 再按 "enter credential" 輸入 Subversion的登入使用者與密碼 筆者發現Hudson在Subversion的使用者名稱與密碼輸入設計有一些Bug, 選擇OK後, Hudson的Subversion Plugin只會將URL, User name, Password 驗證後存下來, 並不會自動切換回Build Job的設定, 當你回到Build Job的設定, 則必須再重新選擇Subversion並輸入Repository的URL, 但是這時候Hudson則不會出現先前顯示無法連結Repositor

Hudson+Continuous Integration筆記-4

圖片
閱讀本篇文章, 請先閱讀 Hudson+Continuous Integration筆記-1 Hudson+Continuous Integration筆記-2 Hudson+Continuous Integration筆記-3 前三篇文章, 我從為何要用Hudson一直到Hudson的安裝, 所以如果讀者應該有能力可以來架設Hudson Build/CI Server了, 這篇文章, 才算是真正切入Hudson Server的使用 Table Of Contents Hudson系統管理 Security設定 Enable Security設定 使用者新增 Hudson系統管理 Security設定 Hudson安裝起來, 內建設定是anonymous都可以使用Hudson Server, 但是這個設定對於管理會有一些問題, 例如build的設定被改掉了, 但是不知道是誰改的, 所以為了管理方便, 建議將Security功能打開, 使用者使用Hudson必須登入, 且只能做權限內的設定. Enable Security設定 1. 點選 "管理Hudson"  2. 點選 "Configure System" 3. 勾選 "Enable security", 選擇Hudson's own user database 使用者新增與權限設定 1. 選擇 "管理Hudson" 再選 "Manage Users" , 再選 "Create User"以新增一位系統管理使用者. 2. 再回到 "Configure System" 的Enable security選項下的Access Control Authorization設定, 原來的設定是Anyone can do anything, 將它改成"Project-based Matrix Authorization Strategy" 3. 在User/group to add: 手動輸入剛剛新增的使用者名稱, 然後為這位系統管理者勾選所有的權限後, 按Save 4. 將管理者的權限設定好後, 使用者可以自己透過 "註冊" 方式來新增使用

Hudson+Continuous Integration筆記-3

圖片
閱讀本篇文章, 請先閱讀  Hudson+Continue Integration筆記-1 Hudson+Continue Integration筆記-2 Table of Contents Hudson的安裝 Hudson要安裝在何種作業系統?? 安裝Tomcat Server 安裝Hudson 使用Launchd來啟動Tomcat Server Hudson的安裝 Hudson要安裝在何種作業系統?? 基本上這與專案團隊使用的開發工具或是程式開發語言有密切關係, 例如軟體專案是開發在ARM平台執行的嵌入式軟體, 那麽CI/Build Server勢必也要能執行ARM平台開發工具, CI/Build Server也可以 和開發工具安裝在不同機器上, 但是這個設定有點複雜, 筆者不建議這麽做, 目前的硬體平台並不貴,針對不同的開發工具而建置CI/Build Server, 可以省去許多複雜的設定. 所以CI/Build Server要安裝在何種作業系統, 要以軟體專案的開發工具能安裝的作業系統為優先考量. 將Hudson安裝在Mac OS X Server 以下的安裝都是以Mac OS X Server為主, Hudson是跨平台的, 在Windows/Linux上安裝, 原理都一樣,而公司內最後選擇將Hudson安裝在Mac OS X server上, 主要有以下的考量 公司內部開發專案主力開發程式語言為Java與Object C , 若以Object C專案而言, 開發工具只能安裝在Mac OS上, 若公司內部專案僅有Java, Hudson在Windows/Linux平台上安裝,也都有很好的支援.  Mac OS X server支援Time capsule自動備份功能, 可以將server的設定作每天備份. 災難復原工作可以省下許多時間. (註: 自動備份功能, Linux/Windows應該也有對應的解決方案 ). 安裝Tomcat Server 到http://tomcat.apache.org下載tomcat 6.x版, 例如apache-tomcat-6.0.24.zip 將apache-tomcat-6.0.24.zip解壓縮到$$your_profile$$/Library, $$your_profile$$為你在Mac OS X中的使用者家目錄

Hudson+Continuous Integration筆記-2

圖片
閱讀這篇文章前, 可先閱讀 Hudson +  Continuous  Integration筆記1 最近公司內部一個專案使用 Scrum /Agile方式來進行專案管理, 因此也開始實踐 Continuous integration 與Daily Build/Test , 剛好利用這個機會將CI Server的建置經驗與過程記錄下來, 可以讓想要實踐 Continuous  Integration的軟體專案團隊來參考, 以下是我們的專案開發環境與要達到CI的功能需求 1. 專案開發環境 開發程式語言為Java, 使用 Google GWT 為開發框架 開發工具:使用 Eclipse   版本控制:使用 SubVersion 專案管理軟體: CodeBeamer Build工具: Apache ANT 2. CI Server功能需求 每日自動從SubVersion Server checkout/outdate最新修改的source code 執行ANT Build Script 執行 JUnit unit test  如果建置成功, 將建置好的code, deployment到測試環境, 並用E-Mail通知專案管理者/測試管理者 建置失敗也使用E-Mail通知專案管理者 deployment 到測試環境, 將測試環境的Web application Server重新啟動 軟體在測試環境測試沒問題後, 將軟體發佈到CodeBeamer Server的專案文件管理目錄 佈署工程師將軟體安裝/發佈到Production Server  3. 測試Server 安裝在 Virtual Box 虛擬環境 安裝與Production Server一樣的環境 所以依據我們列出的CI Server功能需求, 我們選用 Hudson 為CI Server, 我們的建構環境如下 在接下來的文章我會Step by Step介紹如何將Hudson Server建置起來 附註: CodeBeamer的安裝可參考 這裡 CodeBeamer+Subversion整合可參考 這裡