整合VSTS Build/Release與Microsoft Azure服務完成ASP.NET Core容器化一條龍服務

整合VSTS Build/Release與Microsoft Azure服務完成ASP.NET Core容器化一條龍服務

你就是那條龍
來源:網路

ASP.NET Core 本身跨平台特性,使得他非常合適活在 Docker Container 裡。這裡試著把一個 github 專案先匯入 VSTS,然後在 VSTS Build 的 CI 服務進行 build image 和 pull image 的動作,pull image 我們採用 Microsoft Azure 的 Container Registry 服務來當私有庫。有了 image 之後,在使 VSTS Release 的 CD 服務將 image 送到 Web App for Container 去進行執行動作。

VS / VS Code <--> VSTS git <--> Build / Pull Image <--> ACR <--> Release <--> > Web App for Container <--> User

正常產生驗證用HTTP Cookie卻一直通不過Authorize驗證?

正常產生驗證用HTTP Cookie卻一直通不過Authorize驗證?

同事詢問一個靈異的狀況。美國同事的電腦,不論如何測試就是無法登入最近採用 ASP.NET Core + Razor Pages 開發的一個新服務網站。此網站使用預設 [Authorize] 來驗證,後端沒有什麼太深的程式碼,就是驗證帳密通過設定驗證 HTTP Cookie。

一開始的方向還在通想會不會是 ASP.NET Core 本身有雷,這個技術還很新,不敢說我們的掌握度還很好,可是想想可能性非常的低,這個 [Authorize] 的發展從 ASP.NET MVC 到 ASP.NET Core 應該算成熟的應用。反覆測試,發現一奇特現像。

  • US同事電腦:
    • Chrome 無法登入,一直導回登入頁面。
    • 登入過程需產生的驗證 Cookie ,經 F12 開發工具確認,有正確產生。
  • TW同事電腦:
    • Chrome 正常。
    • Firefox 重現無法登入,一直導回登入頁面。

Server Core 1709 with Docker EE Preview LCOW 絕對運作筆記

Server Core 1709 with Docker EE Preview LCOW 絕對運作筆記

LCOW

Linux Containers on Windows (以下稱 LCOW) 對於 Windows Server 上的容器化提供非常重要的戰略位置。先不論 Windows Server 上的 Docker EE 僅能執行 Windows Container,講個笑話,用 Docker EE 連架個私有 Registry 都困難重重。而 Windows 10 上的 Docker CE 好一些,可以直接進行 Linux Container / Windows Container 切換與操作,但兩者並無法同時使用(不過,也快可以了)。也就是說,在使用 LCOW 技術之後,不用在特別區分這是 Linux Container 或 Windows Container,不用在特別去切換執行環境,即可在一個 Docker EE 執行環境下同時執行 Linux / Windows Container。

使用SQL Server Schema Comparion新增NOT NULL欄位

使用SQL Server Schema Comparion新增NOT NULL欄位

我們的資料庫除了正式區之外都是使用 Visual Studio 資料庫專案來進行版控與管理。在測試區碰到一個簡單需求,新增表格欄位,例如定義 LocationType NVARCHAR (50) NOT NULL,透過 New Schema Comparion 原本以為快速就能解決的表格更新,結果立刻得到如下錯誤:

一個Windows 10小設定加速docker的container建立與執行速度

一個Windows 10小設定加速docker的container建立與執行速度

在學習 docker 過程中,會一直不斷重覆且大量建立與消滅 container 的過程。但每次在執行如 docker run 的指令,總是會覺得卡卡的,瞬間 CPU 都會飆高。查詢後得知,在 docker 建立 container 的過程會觸發 Antimalware Service Executable 程序,這是 Windows Defender 保護程序。

以下教各位把 docker 加入 Antimalware Service Executable 排除範圍: