我現在安裝 Windows 服務都使用功能完整的 nssm 來管理,他除了有 CLI 命令列工具介面外,也同時有支援 GUI 圖形化介面,所以非常容易上手。今天這篇文章我打算來分享幾個常見的用法。
... 繼續閱讀 ...
最近一直在處理不同專案的 CI/CD 作業,有個自動化排程作業就需要將應用程式註冊到 工作排程器 (Task Scheduler) 之中,因此就研究了一下如何利用 PowerShell 來完成這個自動化工作。
... 繼續閱讀 ...
我在幫一個客戶 Code Review 並重構專案的時候,發現他們的專案在 Visual Studio 2019 都可以順利的建置專案,但是透過 Azure Pipelines 使用 MSBuild 建置卻會編譯失敗,錯誤訊息非常不清楚,真的是查了很久才想通問題的主因在哪裡,我覺得值得寫篇文章記錄一下。
... 繼續閱讀 ...
這幾天在 Review 公司內一個 ASP.NET Core 專案的 Azure Pipelines,我發現網站是透過 FTP 進行更新的。然而自動化部署的過程,則是先上傳一個 app_offline.htm
檔案,然後在部署成功後刪除 app_offline.htm
檔案。也因為這個專案,我發現了一些 Azure Pipelines 內建的 FTP Upload task (FtpUpload@2
) 有些魔鬼般的細節,實測之後發現有太多地雷,便花了點時間研究一下。
... 繼續閱讀 ...
當你已經安裝一大堆 Jenkins Plugins,想要全部自動更新,但是又連不到 Jenkins 指向的 Mirror Sites 的話,想必就只能手動更新了。本篇文章延續 Jenkins on Windows 心得分享 (06):如何指定 Mirror 鏡像網站下載外掛 的內容,特別補充如何手動更新 Jenkins 伺服器所有外掛(Plugins)。
... 繼續閱讀 ...
我們之前有個 Jenkins CI/CD 的導入顧問案,由於客戶是政府部門,客戶端的防火牆已經設定了無法連接到任何中國大陸的 IP 或 URL,但是 Jenkins 的更新伺服器預設會判定來自台灣的 IP 全部導向到清华大学的 Jenkins Mirror 伺服器,因此當你要安裝或更新 Plugins 外掛的時候,一定會連線失敗。也因為這樣,客戶那邊的 Jenkins Plugins 都將無法自動更新!不僅如此,安裝新的 Plugins 時通常也需要一併安裝相依外掛,因此各種困難接踵而來。這篇文章我將說明我們是如何解決這個難題的!
... 繼續閱讀 ...
早期版本的 Jenkins 由於多國語系的設定完全依賴瀏覽器的語言設定自動判斷,為了要強制將介面調整為 English (英文) 還需要特別安裝 Chrome 擴充套件才能做到。不過新版的 Jenkins 已經不用這麼麻煩了,你只要加裝 Locale 外掛,就可以指定顯示語言。本篇文章也順便講解使用 Docker 建置 Jenkins 的完整過程。
... 繼續閱讀 ...
官方的 mcr.microsoft.com/dotnet/framework/aspnet:4.8
容器映象,已經預先安裝好 Web Server (IIS)
與 ASP.NET 4.8
角色服務,但預設只有啟用一些最常見的 IIS 功能,如果你現有的 IIS 站台想要容器化,但又需要額外安裝角色服務的話,那你就可以參考本篇文章說明。
... 繼續閱讀 ...
若想將 ASP.NET 網站安裝至 Windows Containers 容器中,其實還算簡單,直接使用微軟官方提供的 mcr.microsoft.com/dotnet/framework/aspnet:4.8
容器映象就可以立即使用。但如果要另外安裝 SSL/TLS 憑證的話,那就顯的有點麻煩了,即便官方有提供簡易範例,但要調整為正式憑證的話,網路上似乎沒有完整的文章說明,本篇文章就來詳實記錄所有的技術細節。
... 繼續閱讀 ...