發表文章

目前顯示的是有「Hudson」標籤的文章

ScrumWizard 1.0 GA 釋出

1. 緣起 2009年10月, 我們辦了一場 敏捷開發實戰經驗分享會 , 在這之前也讀過一些文章, 書籍介紹敏捷開發, XP(extreme programming), 但是僅於閱讀與了解階段, 並沒有真正的去實踐過敏捷開發所談到的實踐,  聽完了講師分享了他們的Scrum與敏捷實踐, 讓我們內部開始思考, 如何透過公司代理的產品codeBeamer來做Scrum的管理與敏捷的實踐. 2.ScrumWizard專案開始 2010年3月, 我們正式開始開發ScrumWizard, ScrumWizard剛開始我們取名為ScrumShell, 我在2008年12月做了一個實驗, 使用GWT來做codeBeamer wiki外掛程式的View layer  , 我們思考了很久, 為了讓使用者在網頁操作介面上可以如桌面程式一樣使用Drag & Drop, 勢必要採用許多Ajax的技術, 所以決定使用這個之前做過的實驗與技術在codeBeamer上實現Scrum的管理功能, 因為這等於是在codeBeamer既有的功能又延伸了附加功能, 所以才取名為ScrumShell, 但是這個名稱是以技術角度出發有它的含義, 對於客戶可能對於Shell這個字眼會感到有點奇怪, 所以去年10月到中國北京Agile China參展時就更改為ScrumWizard. 3.混亂 新的專案一開始免不了會有一陣子的混亂, 這些混亂起源於 範圍太大: Scrum管理功能涵蓋了Product Backlog, Sprint Plan, Release Plan , Burn down report etc, 但是要從何處先下手?? 參考一些網站, 有些只做Sprint Backlog管理, 有些只做Task Board管理, 當然也有些是從頭做到尾.  沒有客戶: 辦完了分享會, 客戶開始詢問codeBeamer要如何支援Scrum?? 但是客戶可是要先看到有成品才願意買單, 所以這個專案一開始, 我們就要先假想有客戶需要codeBeamer+Scrum的功能.  團隊成員角色不清: 我們之前的經驗都是接客製化軟體專案, 誰來扮演Product Owner?? 誰來扮演ScrumMaster ??  對於Product Ba...

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 在前一篇文章, 筆者有提到使用者權限設定, 假設...

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+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勢必...

Hudson+Continuous Integration筆記-2

圖片
閱讀這篇文章前, 可先閱讀 Hudson +  Continuous  Integration筆記1 最近公司內部一個專案使用 Scrum /Agile方式來進行專案管理, 因此也開始實踐 Continuous integration 與Daily Build/Test , 剛好利用這個機會將CI Server的建置經驗與過程記錄下來, 可以讓想要實踐 Continuous  Integration的軟體專案團隊來參考, 以下是我們的專案開發環境與要達到CI的功能需求 1. 專案開發...

Hudson+Continuous Integration筆記1

圖片
第一次聽到 Hudson 是INTLAND CEO Janos來台灣訪問時所分享的一個Build Server解決方案, 後來又看了這篇文章 當紅炸子雞:Continuous Integration , 更加深對Hudson的印象, 於是心中開始了一個藍圖, 如何將Hudson與codeBeamer整合在一起? 之所以會有這個想法, 有以下原因 1. codeBeamer雖然有內建Build management, 與排程設定, 並與SCM良好整合, 但是還是有所受限, 例如一家公司的軟體專案的Build sandbox可能是不同類型的專案例如Mac/iPhone, Java, Android, .Net, C/C++,Embedded Linux, 這些Build Sandbox並不一定與codeBeamer安裝在同一個Server, 可能是分佈在不同的Server或是VM(virtua l machine) , 所以獨立的Build Server有存在的必要性. 不過codeBeamer內建的Build並不會有獨立的Build Server而失去其重要性. CB內建的Build與內建Report功能已整合, 可以排程來自動產生Excel格式的報表. 2. 如果獨立的Build Server有存在的必要性, 則Build Server最好有以下特性 容易與各式不同的SCM Server(CVS/SVN/Git/Mercurial)做整合, 因為要Build source code前要先從SCM server checkout source code Build Server可以支援各式軟體專案, 如C/C++, Java, .Net ,Mac Cocoa. Build Server容易與外部Server整合, 例如Build失敗要發e-mail通知, Build成功要將build好的檔案deployment到Test server, 或是File Server. Build Server必須支援Windows/Linux/MacOSX Hudson正好符合這些特性, 而且Hudson支援Plugin, 你可以寫Plugin來擴充Hudson, 也可以在Hudson網站找到許多Plugin, 令我興奮的是Hudson支援 Groovy . 為何支援Groovy讓我...