使用 Visual Studio Team Service 自動建置與部署 Azure WebJob

  • 233
  • 0
  • 2016-07-01

最近剛好碰到需求是要使用 Azure WebJob 來開發一些非同步的處理程式,就希望可以讓 WebJob 也可以透過 Visual Studio Team Service 來做到 CI / CD ,方便控管軟體品質與部署,以下的範例和說明是以使用 WebJob 自己獨立的 Azure WebApp (不包含其他 Website) 為前提來設定 Visual Studio Team Service 可以自己建置及部署 Azure WebJob 專案。

...繼續閱讀 »

程式碼品質分析的好用工具 - SonarQube 安裝及設定 (2)

前一篇文章 ,介紹了如何 SonarQube 的基本功能和所能幫助我們做到的事情,而在本篇文章中,就要開始向大家介紹如何從頭開始安裝一台自己的 SonarQube 伺服器,來讓自己的專案報告可以傳送到 SonarQube 的伺服器上,並透過報表的方式提供給使用者檢視程式碼是否有潛在的風險。

...繼續閱讀 »

程式碼品質分析的好用工具 - SonarQube 基本介紹 (1)

在軟體開發的生命週期中,讓產出的程式碼可以維持著高品質也是非常重要的一件事情,在每個公司可能都會使用不同的方式來讓產品的程式碼品質維持高水準,像是透過 Git 所提供的 Pull Request 功能,讓程式碼在合併回主要的 Branch 之前,透過 Code Review 的方式進行 Double Check,避免一些可能被個人所忽略的疏失發生,也可以讓比較 Senior 的工程師在 Pull Request 上分享 Domain Knowhow。

...繼續閱讀 »

使用 Hubot 製作 Slack 機器人幫你上 Code

  • 2218
  • 0
  • 2016-01-12

前陣子看到 Tesla 製作出來的電動車已經支援 召喚 功能,讓一直想要把一些 懶得做 經常使用 的功能交給機器的人念頭又再次浮起,畢竟 李麥克 在1982年就可以呼叫 夥計 了,在2016年的今天叫機器人幫忙把網站上線,應該也不是太過於困難的事情吧!? 那要做到這件事情最快速的方法就是使用現成已經開發好的模組來幫忙,剛好之前也研究過 Github 使用 CoffeeScript 所開發的 Hubot ,就讓我們試試看使用 Hubot 來製作 Slack 機器人幫我們上 Code 吧!

...繼續閱讀 »

[Tool]使用Grunt,整合Protractor到Visual Studio中進行自動化測試

  • 1922
  • 0

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管理軟體開發生命週期 (1) - 安裝TFS (Basic Version)

  • 5135
  • 0

TFS(Team Foundation Server)是微軟所開發的一套應用程式開發週期管理系統(Application Lifecycle Management),我們可以使用它來從頭到尾控管一個專案的開發狀態,它不僅僅是包含了持續整合伺服器(Continuout Integration)的功能,還能讓我們可以設定專案的工作項目與管理工作進度,甚至是配合敏捷開發方法(ex. Scrum)來進行軟體開發。

...繼續閱讀 »

[Jenkins] 使用發行設定檔來部屬Asp.Net MVC網站

  • 5550
  • 0

關於如何使用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的發行設定檔進行部屬,

如此一來, 原本擔心的問題也就迎刃而解

...繼續閱讀 »

[Jenkins] 使用Git來對Jenkins專案設定做版本控制

  • 27601
  • 0

前幾天在噗浪上看到[小鐵](http://www.plurk.com/jaceju)大提到[Travis CI]可以將專案設定和原始碼一起放在git上,心血來潮想研究Jenkins的設定是否也進行版本控管,找到了這套PlugIn可以實現,雖然它並不是將設定檔案原始碼放在同一個地方,而是另外存放一個Repository,但也是讓我們想測試Jenkins時更加的方便。這套PlugIn是[SCM Sync configuration plugin],它可以在每次修改完設定後,自動將設定檔commit到版本控制系統中,並可以從版本控制系統還原Jenkins的設定檔,如此一來,想要大膽的修改CI Server的危險性就降低了許多囉!

...繼續閱讀 »

[Tools] 使用Chutzpath讓Visual Studio整合JavaScript單元測試

  • 6313
  • 0

在我們測試JavaScript時,都還是必須打開包含測試JS檔的網頁,來觀看測試JavaScript的結果,其實是有點小麻煩,並寫必須透過眼睛來觀看測試的結果,
今天要向大家介紹的Chutzpath這套工具可以幫助我們整合Javascript的測試到Visual Studio中,讓我們的測試進行更加的方便,並且可以讓前後端的測試一目了然,也可以透過Visual Studio的介面一次顯示所有錯誤的清單。

...繼續閱讀 »

[Tools] 使用Jenkins打造Continuous Integration Server (2) - 整合單元測試

  • 14003
  • 0

在上一篇文章中,我們介紹了如何開始在Jenkins內建立我們的每日建置工作,它可以幫助我們在確認在Version中所commit的程式碼是可執行的,作為確保Version Control內程式品質的最後一道防線,在建置失敗時也可以及時的發信通知,而在今天的例子之中,將會繼續介紹如何在Jenkins中整合UnitTest,讓程式碼除了可建置外,也能確定所進行的更動並沒有破壞原本stable的程式碼。

...繼續閱讀 »