隨著 Agile 以及 DevOps 的精神越來越普及,持續整合伺服器(Continuous Integration Server)的重要性也越來越被大家所重視,在團隊開發協作中,擅用持續整合伺服器可以大幅度減輕團隊成員的日常手動作業,讓團隊成員擁有更多的時間可以專注再開發,甚至可以作為團隊的守護者,讓程式碼維持在高品質的狀態,讓團隊的開發工作更加的省時順暢。
[工商服務] 使用持續整合伺服器幫團隊加速
- 1412
- 0
- 2018-01-15
隨著 Agile 以及 DevOps 的精神越來越普及,持續整合伺服器(Continuous Integration Server)的重要性也越來越被大家所重視,在團隊開發協作中,擅用持續整合伺服器可以大幅度減輕團隊成員的日常手動作業,讓團隊成員擁有更多的時間可以專注再開發,甚至可以作為團隊的守護者,讓程式碼維持在高品質的狀態,讓團隊的開發工作更加的省時順暢。
最近剛好碰到需求是要使用 Azure WebJob 來開發一些非同步的處理程式,就希望可以讓 WebJob 也可以透過 Visual Studio Team Service 來做到 CI / CD ,方便控管軟體品質與部署,以下的範例和說明是以使用 WebJob 自己獨立的 Azure WebApp (不包含其他 Website) 為前提來設定 Visual Studio Team Service 可以自己建置及部署 Azure WebJob 專案。
在 前一篇文章 ,介紹了如何 SonarQube 的基本功能和所能幫助我們做到的事情,而在本篇文章中,就要開始向大家介紹如何從頭開始安裝一台自己的 SonarQube 伺服器,來讓自己的專案報告可以傳送到 SonarQube 的伺服器上,並透過報表的方式提供給使用者檢視程式碼是否有潛在的風險。
在軟體開發的生命週期中,讓產出的程式碼可以維持著高品質也是非常重要的一件事情,在每個公司可能都會使用不同的方式來讓產品的程式碼品質維持高水準,像是透過 Git 所提供的 Pull Request 功能,讓程式碼在合併回主要的 Branch 之前,透過 Code Review 的方式進行 Double Check,避免一些可能被個人所忽略的疏失發生,也可以讓比較 Senior 的工程師在 Pull Request 上分享 Domain Knowhow。
Grunt是一種前端的自動化工具,可以幫助我們將JavaScript、Css檔案進行最小化、打包、程式碼語法檢查等等工作自動化,相較於Asp.Net內建的Bundle工具,Grunt所提供的用途雖然類似,但更具有彈性,甚至連JavaScript的自動化測試也可以透過它來整合進行,具體的角色有點類似在C#專案中的MsBuild(我們所有的csproj檔其實就是MSBuild的語法寫成),算是一種建置流程的語言。
而Protractor則是專門為Angular.js量身打造的自動化測試Framework,當然我們也可以使用它來對任何其他不是用Angular.js所撰寫的網頁進行自動化測試(理論上只要瀏覽器可以開起來的Html網頁,不是Flash、Silverlight都可以測試),Protractor的執行是透過Command輸入指令來觸發,而Grunt可以幫助我們簡化這些步驟。
今天的文章將用簡單的範例向大家介紹,如何透過Grunt,將Protractor的自動化測試整合到Visual Studio的之中。
摘要:使用Team Foundation Server管理軟體開發生命週期 (2) - 安裝TFS (Advanced Version)
TFS(Team Foundation Server)是微軟所開發的一套應用程式開發週期管理系統(Application Lifecycle Management),我們可以使用它來從頭到尾控管一個專案的開發狀態,它不僅僅是包含了持續整合伺服器(Continuout Integration)的功能,還能讓我們可以設定專案的工作項目與管理工作進度,甚至是配合敏捷開發方法(ex. Scrum)來進行軟體開發。
摘要:[Jenkins] 使用SpecRun產生BDD測試結果報表
關於如何使用Jenkins來進行自動化網站部屬,
可以參考 http://ithelp.ithome.com.tw/question/10108511 CI Server 22 - 使用Web Deployment Tool部署網站
雖然之前一直都使用Command Line的語法來直接執行MsDeploy,
但還是沒有像使用Visual Studio的發行功能一樣方便,
而且Visual Studio和Jenkins使用不同的方式部屬也擔心會有設定不同步的問題,
最近發現原來MsBuild可以直接指定Visual Studio的發行設定檔進行部屬,
如此一來, 原本擔心的問題也就迎刃而解
前幾天在噗浪上看到[小鐵](http://www.plurk.com/jaceju)大提到[Travis CI]可以將專案設定和原始碼一起放在git上,心血來潮想研究Jenkins的設定是否也進行版本控管,找到了這套PlugIn可以實現,雖然它並不是將設定檔案原始碼放在同一個地方,而是另外存放一個Repository,但也是讓我們想測試Jenkins時更加的方便。這套PlugIn是[SCM Sync configuration plugin],它可以在每次修改完設定後,自動將設定檔commit到版本控制系統中,並可以從版本控制系統還原Jenkins的設定檔,如此一來,想要大膽的修改CI Server的危險性就降低了許多囉!
在我們測試JavaScript時,都還是必須打開包含測試JS檔的網頁,來觀看測試JavaScript的結果,其實是有點小麻煩,並寫必須透過眼睛來觀看測試的結果,
今天要向大家介紹的Chutzpath這套工具可以幫助我們整合Javascript的測試到Visual Studio中,讓我們的測試進行更加的方便,並且可以讓前後端的測試一目了然,也可以透過Visual Studio的介面一次顯示所有錯誤的清單。
在上一篇文章中,我們介紹了如何開始在Jenkins內建立我們的每日建置工作,它可以幫助我們在確認在Version中所commit的程式碼是可執行的,作為確保Version Control內程式品質的最後一道防線,在建置失敗時也可以及時的發信通知,而在今天的例子之中,將會繼續介紹如何在Jenkins中整合UnitTest,讓程式碼除了可建置外,也能確定所進行的更動並沒有破壞原本stable的程式碼。
[Tools] 使用Jenkins打造Continuous Integration Server (1) - 安裝以及環境設定
[Tool] Continuous Integration & Build Server – TeamCity (二) 設定專案
[Tool] Continuous Integration & Build Server – TeamCity (一) 安裝
[Tool] 使用gsyncit同步outlook和google行事曆