2019年12月25日 星期三

SQL Server 2017 Installation and update


SQL Server 2017

  1. 若要一併安裝SQL Server 2017 ML Service或ML Server,需事先安裝Java SE Runtime Environment 8u211: jre-8u212-windows-x64.exe
  2. 安裝SQL Server 2017
    • 安裝軟體SQLServer2017-x64-ENU-Dev.iso

    • 若要測試所有功能,可以先不勾選ML Server,其他所有功能都選取
  3. 安裝最新Cumulative Update,目前最新版為SQL Server 2017 CU18: SQLServer2017-KB4527377-x64.exe

Cumulative Update 18 for SQL Server 2017
https://support.microsoft.com/en-us/help/4527377/cumulative-update-18-for-sql-server-2017

SQL Server 2017 Updates
https://sqlserverupdates.com/sql-server-2017-updates/

直接下載安裝最新的Build


2019年12月22日 星期日

Azure DevOps Quick Start

Azure DevOps Quick Start
快速開始使用Azure DevOps

  • 雲端託管私人 Git 存放庫
  • 雲端的 CI/CD 建置、測試及部署
  • 整合敏捷式工具與所有小組一起規劃、追蹤及討論工作

1.Create a projects
首先建立一個Project1專案




2.使用Visual Studio連接到DevOps git版控

網址 yourAccount.visualstudio.com
另一種網址是 yourAccount@dev.azure.com
勾選要連線的專案


3.複製clone Project1 repository 到本地
   點擊 Clone this repository 連結

按下 [Clone] 按鈕

4.直接在本地Repository建立方案


5.將變更Commit並push到遠端git(DevOps版控)


6.在DevOps版控,設定與測試Build
選擇 ASP.NET 範本

修改 azure-pipelines.yml檔,在最下方增加一行 

- task: PublishBuildArtifacts@1

按下 Save and run
確認 Build 正常完成

7.新增部屬群組 Add a deployment group
部署群組可包含多台主機(虛擬機或實體機)
可依需求建立dev,test,UAT,Production群組
以下範例命名為 Projection
為了將 Azure DevOps Service 代理程式安裝到要部署的虛擬機器當中,勾選Use a personal access token in the script for authentication. 然後點擊Click [Copy script to clipboard].

詳細步驟請參考這篇 Create a deployment group


8.建立Web Server VM並安裝Azure DevOps Service 代理程式
    建立VM

RDP登入VM,安裝Web Server角色與所需相關功能

新增一個 stage 站台
實體目錄指向 C:\inetpub\wwwrootstage (從C:\inetpub\wwwroot複製而來)
Port指定8080

在Web Server主機,以管理員身分啟動一個PowerShell命令提示字元
貼上一個步驟所複製的命令
開始安裝Azure DevOps Service 代理程式


9.回到Azure DevOps的deployment group,確認


10.建立Release pipeline
    有2種方法

    方法1:
     Project1 > Pipelines > Releases > New pipeline

    方法2:
    Project1 > Pipelines > Builds > 點選一個已執行完成的Build,然後點選右上方的Release


11.設定Release
選擇 IIS website deployment 範本

點擊Stage 1下方1 job, 2 tasks連結,設定屬性

選取剛建立好的Deployment group部署群組 Production

點擊複製Clone

點擊 Stage 1

將Website Name改為stage
將binding的80改為8080


將IIS Web App Manage的Physical path路徑的wwwroot改為wwwrootstage

點擊 Pre-deloyment conditions

Enable Pre-deployment approvals
啟用需預先認可,並指定認可人員

點擊 Continuous deployment trigger
依需求勾選
第1個選項是當有新的build完成,就建立一個release
第2個選項則是當pull request workflow含有一個新版已選取的artifact可用時,就建立一個release,此選項必須設定filter指定一個branch

12.測試Release
     檢查stage與Default Web Site網站,目前仍是預設IIS歡迎頁面
 Stage網站: http://localhost:8080 

Default Web Site網站: http://localhost

    回到Project1 > Pipelines > Builds頁面 ,點擊右上角的 Queue 按鈕,觸發一次Build

確認Release正在執行 Stage 1

當 Stage 1 執行成功

確認stage網站 http://localhost:8080 已改為ASP.NET網站

當Stage 1完成,Production會變成Pending approval狀態
按下 [Approve]

當Production也執行成功

確認Default Web Site網站 http://localhost 已改為ASP.NET網站

13.建立分支來開發
在master按右鍵,選擇New Local Branch From
輸入新分支命名為feature1
來源選擇master
預設勾選Checkout branch
按下[Create Branch]

在剛建好的分支feature1按右鍵,選擇Publish Branch

確認DevOps已出現新的分支feature1


14.使用Pull Request來觸發Release

    Project1 > Repos > Pull requests , 典籍右上角 [New pull request]
   
    來源Branch選擇feature1
如果feature與master沒有變更需要合併,則無法建立Pull request
若有變更,則會跳出以下視窗,按下Create按鈕就可以建立一個pull request
      當reviewer做完代碼審查,即可按下Approve

接下來就可以按下Complete按鈕,準備進行分支的Merge合併

選擇Merge type合併方式,就可以按下 Complete merge就會開始進行Merge
pull request完成後的畫面
當pull request完成,就會觸發一個Release部署到web server


Reference:
Using Azure DevOps to Deploy Web Applications to Virtual Machines
https://devblogs.microsoft.com/premier-developer/using-azure-devops-to-deploy-web-applications-to-virtual-machines/

Create a deployment group
https://docs.microsoft.com/en-us/azure/devops/pipelines/apps/cd/deploy-webdeploy-iis-deploygroups?view=azure-devops#create-a-deployment-group

SQL Server Database Mirroring 資料庫鏡像

SQL Server Database Mirroring 資料庫鏡像