[第八屆IT邦幫忙鐵人賽] 心得與感想

前言

終於完成這次IT邦幫忙鐵人賽,深刻有一種如釋重負的感覺!!
這次算是第二次參賽,比起兩年前的經驗,今年的事先規劃加上整年所學習的技術整合,文章內容比較完善也比較一致。這個月每天回到家用完餐,寫鐵人文章到凌晨已經是規律的行程,理所當然,假日也不例外:處理完家務事與雜事後,往往開始寫文章的時候也已經是晚上。整個過程最煎熬也最花時間的部分是實作與範例,每篇文章幾乎都有安裝、程式與實作範例,而並非只有理論與描述,因為我認為透過程式碼與實作可以讓技術學習更加扎實,故每個步驟能截圖就截圖,能提供程式碼就程式碼。

感謝所有看到最後一篇的讀者,這次系列文章雖然有事先規劃,但仍舊不夠完善,抵不過一日一篇的壓力,文章品質與內容不如自己預期的好,在此先跟各位致歉,後續這鐵人賽期間內,會再檢查與修補內容,讓這系列文章更加盡善盡美。

...繼續閱讀 »

[第八屆IT邦幫忙鐵人賽] Skype Bot 與 TeamCity 整合 2 - TeamCity Notification

前言

上一篇我們簡單的介紹如何透過 Skype bot + TeamCity Restful API 對TeamCity 進行操作,但若要得知工作完成的情況,定時去查詢其實相當沒有效率。運氣很好的事 TeamCity 有許多的 plugin 可以使用(雖然有些好像年久失修,但對 slack 支援度蠻高的)。在這一篇文章我們將用一個簡單的範例,透過 web hook 發送訊息到 skype bot MessageController,告知使用者目前情況,若有錯誤或任何建議,請各位先進不吝提出,謝謝。

...繼續閱讀 »

[第八屆IT邦幫忙鐵人賽] Skype Bot 與 TeamCity 整合 1 - TeamCity Restful API 介接

前言

上一篇我們簡單介紹了 Skype Bot C# 程式中如何傳送與回覆訊息,而在這一篇,我們將簡單介紹如何讓機器人觸發 TeamCity build confguration,讓您直接與機器人聊天,就能完成自動化建置工作,若有錯誤或任何建議,請各位先進不吝提出,謝謝。

...繼續閱讀 »

[第八屆IT邦幫忙鐵人賽] JMeter 與 TeamCity 整合

前言

前面兩篇我們簡單介紹 JMeter 安裝、基本使用、BeanShell 前/後至處理器與語法,透過這些基本的操作,您可以對於專案內的WebAPI開始撰寫測試的腳本。在這一篇我們將透過 JMeter plugin for TeamCity 整合TeamCity 與 Jmeter,讓您透過 TeamCity 也能進行壓力測試並觀看結果,若有錯誤或建議,請各位先進不吝提出,謝謝。


 

...繼續閱讀 »

[第八屆IT邦幫忙鐵人賽] TeamCity build scripts撰寫 (含範例專案架構)

前言

前面連續介紹 18篇有關 .NET Core 持續整合相關指令、gulp 件、IT架構與佈署流程介紹,在本篇文章,我們將彙整前面的文章,透過一個簡單的專案架構,簡單說明如何撰寫前、後端 Build Script。若有錯誤或任何建議,請各位先進不吝提出,謝謝!


 

...繼續閱讀 »

[第八屆IT邦幫忙鐵人賽] 伺服器篇 - CI 環境設置作業

前言

原先在這一篇,要說明範例專案架構、規劃流程與Build Script撰寫,但經過一番思考後,認為伺服器篇說明篇應該先說明才不容易混淆。在本篇文章將簡單彙整,當 IT Team 提供新的伺服器與作業系統環境後,需要安裝那些套件與注意事項,這些是過去小弟與 IT Team 合作與碰壁的經驗,提供給有興趣的朋友參考。若有錯誤或任何建議,請各位先進不吝提出,謝謝。

註: 本系列文章主要以實作 .NET Core web application為主,作業系統、套件以下列為主
環境: Windows Server 2016
安裝套件:

  1. .NET Core 1.1 SDK
  2. .NET Core Windows Server Hosting
  3. IIS
  4. Nodejs
  5. Windows Update
...繼續閱讀 »

[第八屆IT邦幫忙鐵人賽] .NET Core 多環境佈署設定

前言

DevOps 流程內會設置許多環境,像是 Development ,QA ,Staging, and Production,依據需求的不同分別提供給開發者、測試人員與客戶使用。其優點如下:

 

  1. Dev環境:因為佈署於伺服器而非工程師本機環境下進行操作與測試,減少了軟體套件未安裝、作業系統版本不同、系統參數不同...等佈署後發生問題的機率。
  2. QA環境:測試人員進行測試的階段可能需要輸入假資料進行測試,避免影響到正式產品的資料正確性。
  3. Staging:提供另一個備份的正式資料庫 搭配最新開發的程式進行操作。以最接近正式產品環境進行測試,找出可能發生的問題。
  4. Production: 正式機 (當然,如果能不碰就不碰 XD)
...繼續閱讀 »

[第八屆IT邦幫忙鐵人賽] .NET Core 基本指令使用與整合 TeamCity

前言

前一篇,我們介紹安裝 .NET Core 相關檔案,並分別透過 Visual Studio 2015 與 Command line方式建立第一個 Web Appliction 專案。在本篇,我們將詳細介紹與持續整合相關的指令操作,包含了 restore、build、test、publish,與 pack,並在最後說明如何在 TeamCity 使用這些指令建立 Build Script,進一步協助我們建立自動化整合流程。若有說明錯誤或任何建議,請各位先進不吝提出,謝謝。!

...繼續閱讀 »

[第八屆IT邦幫忙鐵人賽] .Net Core 安裝與介紹

前言

ASP.NET Core早期被稱為 ASP.NET vNext 與 ASP.NET 5,但並非原有的 ASP.NET升級版,而是重新製作的 ASP.NET。最大的特色就是可跨平台運行於 Mac OSX 與 Linux 作業系統。當得知跨平台特性時,個人就非常期待未來的發展,很幸運的是 .Net Core 整合在2016年6月釋出後,Team Leader希望新專案可以進行透過 .NET Core 進行實作。期間雖然遭遇開發方式不同、過去常用套件不支援與佈署流程差異等問題,但透過這次專案累積了寶貴的經驗,也嘗試建立了自動化佈署流程。
本系列文章對於.NET Core 只簡單介紹相關的內容,包含:安裝、指令操作、TeamCity整合與多環境設定等部分,其他部分可以參考官方網站(像是 middleware 與 DI 部分也相當有趣,建議各位先進可以嘗試看看,至於開發經驗分享部分,只能等鐵人賽結束再說惹)。本篇文章若有錯誤或任何建議,請各位先進不吝提出,謝謝! 

...繼續閱讀 »

[第八屆IT邦幫忙鐵人賽] TeamCity Build Configuration 介紹

前言

前兩篇文章中,我們說明了安裝 TeamCity 與增加 Build Agent的設定步驟,而在這一篇我會簡單介紹 TeamCity 的操作介面與如何設定 build configuration(建置設定) 功能,讓大家能在 TeamCity 上進行基本操作。本篇文章若有錯誤或任何建議,請各位先進不吝提出,謝謝!

...繼續閱讀 »

[第八屆IT邦幫忙鐵人賽] 如何在 TeamCity 增加 Build agent

前言

TeamCity build agent 為負責執行整合流程的服務程序,負責執行各種持續整合工作,Agent越多,表示同時進行測試與部署工作越多,這在大型專案與多人共同開發情境下非常的重要。在 Professional 版本、不購買任何 agent lincesee 情況下,我們最多可以設定 3 agents 同時進行工作。在上一篇文章中,我們簡單介紹如何安裝 TeamCity,並且在安裝過程中設定了一個 TeamCity agent,而這在本篇會簡單介紹如何安裝與設定新的agent。若有錯誤或任何建議,請各位先進不吝提出,謝謝!

...繼續閱讀 »

[第八屆IT邦幫忙鐵人賽] TeamCity 介紹與安裝

前言

TeamCity 是由 JetBrains 開發,一套 Java-Based 持續整合與管理的伺服器,能協助開發人員依據專案特性,從開發、編譯、整合、測試到發佈軟體等流程,建構一套專屬的 DevOps。TeamCity整合多家套件,如版本控管、測試框架、通知、視覺化圖表、問題追蹤、雲端支援...等,協助開發人員順行進行各種整合工作,功能相當強大。

...繼續閱讀 »

[第八屆IT邦幫忙鐵人賽] ASP.Net Core web application continuous integration - 序

前言

個人覺得運氣不錯,從早期單純的程式撰寫、版本控管、單元測試、專案管理工具到目前持續整合,透過工作學習越來越多的知識與技術,而這些知識技術也逐漸優化工作效能與成果,在此感謝一路走來曾經共事過的強者們,感謝你們不吝嗇地分享自身經驗與技術。透過目前工作,第一次實際接觸到的持續整合,也親身感受到程式自動化所帶來的好處。因應公司專案需求,個人有機會實作ASP.Net Web Application持續整合流程,雖然流程不算盡善盡美,但也補足長久以來對於理論的疑問,學習了不少經驗。這次透過鐵人賽,將對於ASP.Net core 部分製作持續整合的的相關經驗做一次彙整紀錄,有別於先前撰寫 ASP.Net Framework 持續整合文章,ASP.Net Core 在持續整合製作過程中有些許的不同,將會在後面的文章一一描述。  序篇將簡單說明目錄、操作環境、基本流程與持續整合的好處,若有錯誤或任何建議,請各位先進不吝提出,謝謝。

 

...繼續閱讀 »

[Gulp][.Net Web Application][CI] Gulp 基礎介紹

前言

雖然目前已經有數個持續整合的流程,且運做得相當穩定。在新的專案,Team leader 希望嘗試使用 Gulp 來進行.Net MVC Web Applicatioon 持續整合,讓我這次機會從頭到尾的撰寫持續整合流程。本系列文章使用 Gulp + Teamcity配合製作持續整合流程,中間也會詳細描述遭遇的問題與解決的方法,因為第一次嘗試,有觀念錯誤或者建議請不吝提出。。

...繼續閱讀 »