發表文章

Jenkins 3 –部署問題排除

圖片
文章開始前先列一下,目前方案下的專案及組態 n個Library專案及2個Web專案。 組態區份為: Debug、 Release、QAS、STA、PRD。前兩個是Vs預設,後面3個是根據發佈的環境命名 遇到的問題      前一篇文章介紹的發行,使用的是MsBuild來建置方案檔 .sln 。透過發行Profile檔,先建置後再作發行。 這樣的方式,在建置方案後,預設會找出方案下所有的Web專案來發行。依照上述方案架構與組態,會遇幾個問題如下: 第一個Web專案發行後,第2個Web專案會找不到發行Profile檔。ps:我只想發行一個Web專案,第二個專案沒有發行Profile。 若建置改成使用特定的專案,例如:只建置A Web。這在建置時,會遇到非預設組態(QAS、STA、PRD),找不到的錯誤,因為其他相依的Library專案,並沒有這些設定,在VS加入時,預設建置設定只加入當時選擇的專案及方案,如下圖 WebApp有QAS,但底下的Library沒有。

Jenkins 2 -基本建置與部署

圖片
    前一篇將環境搞定後,開始來作建置與部署的工作。 新增建置工作 加入一個建置工作 設定工作組態-指定原始檔管理 User Name /Password 需使用前VSO 的Secondary User Name 設定工作組態-加入建置   加入執行Windows批次指令,執行nuget.exe還原 ps:nuget.exe 已先下載至安裝目錄。 %JENKINS_HOME% : 安裝目錄C:\Program Files (x86)\Jenkins "%WORKSPACE%   : 工作位置 例:C:\Program Files (x86)\Jenkins\ workspace\My-VSO-Daily-Build ps 完整命令 cd %JENKINS_HOME% nuget.exe restore "%WORKSPACE%\BuildLab.sln" 加入Build a Visual Studio project or solution using MSBuild 使用MsBuild建置成功後,透過發行檔Profile,發行到主機上 完整命令: /t:Rebuild /property:PublishProfile=WebDeploy;DeployOnBuild=true;username=xxx;password=xxxx;AllowUntrustedCertificate=true 測試建置 設定完後,選單左方可以執行[馬上建置],並在Console看到即時的輸出結果 參考來源 http://ithelp.ithome.com.tw/question/10109773 http://www.codeproject.com/Articles/878203/Integrate-Jenkins-with-MSBuild-and-NuGet http://www.dotblogs.com.tw/supershowwei/category/11733.aspx?Show=All

Jenkins 1 - 基本環境設定

圖片
    前兩天去MOPCON 2015上課,談到CI Server,大部份都使用Jenkins。這兩天玩了一下,順便將目前的專案導入,將放在VSO的原始檔,作自動化建置及部署。關於Jenkins 網路有很多 文章 ,這裡不作多介紹,本篇只針對目前用到的功能、設定及問題排除作記錄。 建置環境 Window Server 2012 R2 Visual Studio 2015 : 建置、編譯、部署,此部份雖可以個別安裝,但實測後,遇到不少問題,所以乾脆將開發工具裝上。 版本控制 : Visual Studio Online Jenkins : https://jenkins-ci.org/ 下載Window版本,裝完後,預設會執行port 8080首頁 管理外掛程式   加入MSBuild Plugin 加入Team Foundation Server Plug-in

工作排程器將參數傳給PowerShell

圖片
測試機上的工作排程,會定期去執行一支PowerShell的命令檔,目前有一需求,要從排程上,將參數傳給PowerShell去使用。相關作法如下 在power shell 先宣告一個變數,本例將變數先顯示出來 param($url="") $url 測試Power Shell傳入參數,進入命令提示字元,切換到Power Shell目錄 C:\Windows\System32\WindowsPowerShell\v1.0 透過-command將參數指給url : powershell.exe –command “d:\par.ps1 –url kim” 測試結果輸出:kim 將參數加到排程上 參考來源 https://dmitrysotnikov.wordpress.com/2011/02/03/how-to-schedule-a-powershell-script/

使用IIS作為Proxy轉向Jenkins

圖片
   在Window主機上裝了Jenkins,預設port 8080,而DNS指定的port與防火牆只有開放80,若想讓Jenkins在外部也可以連的話,IIS有相關套件可以將domain name rewrite到指定的url 例:jenkins.kimx.info 轉往 localhost:8080 必要安裝 URL Rewrite Application Request Routing 這2個套件可以透過Web Plaform Installer安裝

隱藏Public Method沒有註解的警告

圖片
專案若將匯出XML的功能打開 Public 方法若沒有註解,會出現警告。 雖然不會影響功能,但看到程式碼有個綠色毛毛虫在那兒,總覺得心裡怪怪的...

Web API HelpPage 加入說明

圖片
  新增Web專案時,若範本選的是Web API,預設會幫我們建立一個HelpPage的Area 進入首頁後,點上方API連結

解決Razor Intellisense無法使用的錯誤

圖片
   今早打開Visual Studio 2015時,出現了載入某個元件的錯誤提示。本想說不去理它,應該下次再重開就好了,但之打開MVC View編輯時,出現了如下錯誤。雖然建置沒問題,但所有的Intellsense提示完全失效....。 ActiveLog.xml 解決方法 清空ComponentModelCache目錄內的檔案 C:\Users\ [username] \AppData\Local\Microsoft\VisualStudio\14.0\ComponentModelCache 參考來源 https://hanskindberg.wordpress.com/2014/02/27/visual-studio-clear-cache/

使用Azure Power Shell 變更資料庫服務層和效能層級

圖片
      目前的專案有一需求是在資料匯入時,將服務層級提高來加快匯入的速度,待完畢後再降回來,避免資源(金錢)的浪費。趁此K了一下最近剛入手的 Azure教戰手札 ,並撰寫一支Power Shell Script來玩玩。 前置工作   第一次使用PowerShell ,需設定ExecutionPolicy: Set-ExecutionPolicy -ExecutionPolicy RemoteSigned ps:此動作要使用Administrator執行 先確定是否已安裝Azure Power Shell ps:安裝後,需要 重新開機 ,否則會出現找不指令錯誤

使用Visual Studio Online新的建置系統發佈到Azure

圖片
   這幾天在Survery Visual Studio Online CI相關技術,看到一篇文章介紹VSO全新的建置系統 。試玩一下,將VSO的專案發佈成Pacakge並發行到Azure,感覺還不錯用,將目前使用的功能記錄起來。 VSO專案先建立Azure Service 切換到Services Tab 加入Service 輸入Azure的訂閱資訊,若找不到,也可以從上圖紅框的”publishsettings xml file”下載取得。