DevOps | The Will Will Web

The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

錯誤的 HintPath 也可以在 Visual Studio 中建置,但 CI 的時候可能不行

我在幫一個客戶 Code Review 並重構專案的時候,發現他們的專案在 Visual Studio 2019 都可以順利的建置專案,但是透過 Azure Pipelines 使用 MSBuild 建置卻會編譯失敗,錯誤訊息非常不清楚,真的是查了很久才想通問題的主因在哪裡,我覺得值得寫篇文章記錄一下。

... 繼續閱讀 ...

如何正確使用 Azure Pipelines 內建的 FTP Upload Task 上傳與刪除檔案

這幾天在 Review 公司內一個 ASP.NET Core 專案的 Azure Pipelines,我發現網站是透過 FTP 進行更新的。然而自動化部署的過程,則是先上傳一個 app_offline.htm 檔案,然後在部署成功後刪除 app_offline.htm 檔案。也因為這個專案,我發現了一些 Azure Pipelines 內建的 FTP Upload task (FtpUpload@2) 有些魔鬼般的細節,實測之後發現有太多地雷,便花了點時間研究一下。

... 繼續閱讀 ...

Jenkins on Windows 心得分享 (07):如何手動更新 Jenkins 伺服器所有外掛

當你已經安裝一大堆 Jenkins Plugins,想要全部自動更新,但是又連不到 Jenkins 指向的 Mirror Sites 的話,想必就只能手動更新了。本篇文章延續 Jenkins on Windows 心得分享 (06):如何指定 Mirror 鏡像網站下載外掛 的內容,特別補充如何手動更新 Jenkins 伺服器所有外掛(Plugins)。

... 繼續閱讀 ...

Jenkins on Windows 心得分享 (06):如何指定 Mirror 鏡像網站下載外掛

我們之前有個 Jenkins CI/CD 的導入顧問案,由於客戶是政府部門,客戶端的防火牆已經設定了無法連接到任何中國大陸的 IP 或 URL,但是 Jenkins 的更新伺服器預設會判定來自台灣的 IP 全部導向到清华大学Jenkins Mirror 伺服器,因此當你要安裝或更新 Plugins 外掛的時候,一定會連線失敗。也因為這樣,客戶那邊的 Jenkins Plugins 都將無法自動更新!不僅如此,安裝新的 Plugins 時通常也需要一併安裝相依外掛,因此各種困難接踵而來。這篇文章我將說明我們是如何解決這個難題的!

... 繼續閱讀 ...

Jenkins on Windows 心得分享 (05):如何將介面顯示語言設定為英文(en)

早期版本的 Jenkins 由於多國語系的設定完全依賴瀏覽器的語言設定自動判斷,為了要強制將介面調整為 English (英文) 還需要特別安裝 Chrome 擴充套件才能做到。不過新版的 Jenkins 已經不用這麼麻煩了,你只要加裝 Locale 外掛,就可以指定顯示語言。本篇文章也順便講解使用 Docker 建置 Jenkins 的完整過程。

... 繼續閱讀 ...

如何在 Windows Containers 建立內含正式 SSL/TLS 憑證的 IIS 網站

若想將 ASP.NET 網站安裝至 Windows Containers 容器中,其實還算簡單,直接使用微軟官方提供的 mcr.microsoft.com/dotnet/framework/aspnet:4.8 容器映象就可以立即使用。但如果要另外安裝 SSL/TLS 憑證的話,那就顯的有點麻煩了,即便官方有提供簡易範例,但要調整為正式憑證的話,網路上似乎沒有完整的文章說明,本篇文章就來詳實記錄所有的技術細節。

... 繼續閱讀 ...

使用 Azure CLI 管理 Azure DevOps Services 服務

Azure DevOps Services 提供相當完整的 CLI 命令列介面支援,早期你可以使用 VSTS CLI 來操作 Azure DevOps Services 與 Team Foundation Server (TFS),但未來你可能要改用 Azure CLI 並安裝 Azure DevOps extension 來管理 Azure DevOps 上的各種資源。本篇文章將介紹新版 Azure CLI with Azure DevOps extension 的相關用法。

... 繼續閱讀 ...

如何正確設定 Azure Artifacts 的 NuGet 套件來源 (Feeds)

如果你在 Azure Artifacts 建立一個 NuGet 來源,由於所有存取 Azure Artifacts 上的 NuGet 套件都需要經過身分認證,如果你用的是 Visual Studio 就沒啥問題,更新到 Visual Studio 最新版就能搞定所有問題。但如果你用 Visual Studio Code 或 .NET CLI 進行 NuGet 操作,例如透過 nuget restoredotnet add package 等命令,就會開始出現問題。這篇文章將說明如何正確設定,讓日後的 NuGet 操作都不再出問題。

... 繼續閱讀 ...