實做使用 App Configuration 來取用參數

  • 233
  • 0

在前面的文章「不修改程式下在 App Service 使用 App Configuration 管理參數」介紹到不修改程式的情境來套用 App Configuration,這在只有單一 App Service 時候或是沒有在其它程式也會共用參數的情境下適合,如果有同一個參數會用到多個應用程式還是建議修改程式來支援會是比較好的使用情境。另外針對參數設定上也可已設定 Lable 來區分不同的環境,本文也會介紹如何在存取的時候設定要存取的 Label。

...繼續閱讀 »

[筆記] 在 App Service 設定陣列組態

  • 109
  • 0

在開發的時候一定會有機會存取陣列類型的設定值,在程式裡面通常會用複雜型別來對應這樣的設定資料,那部署到 App Service 如果要透過組態來設定陣列值的話因為沒辦法像設定 appsetting.json 那樣方便,會需要採用 key 值的方式來設定,平常又是透過強型別來存取陣列設定,反而不熟悉存取陣列 key 值的方式而卡了一下,因此筆記一下設定的方式。

...繼續閱讀 »

不修改程式下在 App Service 使用 App Configuration 管理參數

  • 265
  • 0
  • 2022-09-25

前言

在開發專案的初期,除了環境設定以外,程式的參數設定會是初期需要處理的問題,不外乎是怎麼存?存哪裡?而在預設的 .NET Core 專案會是存在 appsettings.json 這一個檔案裡面,而專案越來越大或是越來越多子專案之後,就會延伸一個問題是參數的管理,可能在很多專案會用到一樣的參數,但是當這個參數要調整的時候,會需要每一個專案都記得去修改,這樣在管理上會相當的不方便,這時候就可以使用 Azure 上的 App Configuration 這一個服務來統一管理和設定參數,而最近微軟 Public Preview 一個新的功能,讓我們可以在不修改程式的情境下讓 App Service 的組態可以直接使用 App Configuration 內的參數,後面就來介紹該如何啟用這樣的功能。

...繼續閱讀 »

Azure Microsoft Dev Box (開發箱) 初體驗

  • 387
  • 0

前言

前幾天微軟公告 Microsoft Dev Box 這個服務進入 Public Preview,此服務建構在微軟 Windows 365 服務之上,可以讓開發人員更專注在開發上,而不用煩惱於基礎建設上,它可以讓我們自定義好專案需要的開發環境,讓開發人員可以快速的建置好一個開發環境起來,身為一個開發者和 Azure 使用者,第一時間還是來建立起來評估一下,把服務建立起來體驗一下,後面就會簡單的介紹服務的建置和使用的心得。

...繼續閱讀 »

Azure DevOps 在 Pipeline 使用外部套件來源

  • 280
  • 0

前言

現在開發上越來越依賴使用 NuGet 來管理套件,專案和團隊變大之後就會開始把一些共用的函示庫抽離並打包成 NuGet 套件,而這些套件屬於公司內部使用,所以就會需要有私有的 NuGet,這時候可以有兩種方案,一個是使用一個共用的資料夾或是 Azure DevOps 上的 Artifacts 來管理套件,這時候如果有設定 Azure DevOps 的 CI/CD 的話,就需要多一點設定才可以連接到這些非官方 NuGet 的外部套件來源,本文就來介紹如何設定以及需要注意的點。

...繼續閱讀 »

.NET Core 實做連接 SAP 並部署到 App Service

  • 1729
  • 0

前言

最近工作上需要串接 SAP,但是因為現在專案都改用 .NET Core 了,官方的 SAP Connector for Microsoft .NET 主要是支援 .NET Framework,因此就在 NuGet 上面找了幾個套件,經過測試之後,huysentruitw/SapNwRfc 這一個套件,它的使用方式我比較喜歡,而且可以支援強型別的 Model ,使用上會比較順手,另外也需要將程式部署到 App Service 執行,因此也把可能會遇到的問題記錄一下。 

...繼續閱讀 »

透過 API Management 管理 OAuth 授權

  • 418
  • 0

前言

現在許多主流的 API 服務的驗證都是透過 OAuth 來實做,而為了安全性許多服務針對取得的 Access Token 也都會有授權的期限,因此在實做存取 API 的時候大部分人第一個卡關的點就是 OAuth 取得 Access Token,後續則是實做快取 Token 和重新取得 Access Token,而這些每一個不同的 API 服務都要再重新寫一次,實在是太費時了,我們應該把時間留給在真正呼叫 API 的時候,而不是一直花在取得授權這一段重複的工,本文就來介紹透過 API Management 來協助我們管理這些 OAoth 授權。

...繼續閱讀 »

使用 Azure DevOps 部署到 App Service WebJob

前言

在 Azure 上面執行排程程式除了 Azure Function、Logic App 等服務以外,最方便的方式還是使用 App Service 裡面的 WebJob,它可以執行很多種類型的程式,所以我們可以簡單的開發一個 Console 程式去執行我們的排程程式,而當然也要讓它可以自動化部署,在設定上會有一些細節需要注意,所以特別針對一些設定和參數來記錄一下部署的流程。

...繼續閱讀 »

使用 Azure DevOps 部署到 Azure Kubernetes Services

前言

本系列的第三篇文章,這次要部署的服務就是 Azure Kubernetes Services,現在很多服務架構上都會使用上 K8S,而在 Azure 上面也提供一個受控的 K8S 服務,就是 Azure Kubernetes Services,它可以減少我們管理 K8S 的一些成本,需要更新 K8S 版本的時候也可以一鍵點選就可以升級節點的 K8S 版本,需要增加節點的時候也可以很方便的透過手動或是設定自動調整,如此一來我們就可以專注在程式的部署上就好,不用太擔心整個 K8S 叢集的維護和管理。

...繼續閱讀 »

使用 Azure DevOps 部署到 App Service 預備環境 (Slot) 並進行切換

前言

App Service 有一個很實用的功能就是預備環境 (Slot),他可以方便我們在部署程式的時候可以先佈到預備環境,測試完成之後可以直接和正式環境進行切換 (Swap),也可以在發現有沒測試到的嚴重問題的時候可以再切換一次,就可以快速的退到前一版的環境,那要結合 Azure Devops 的話就可以達到自動化的部署和切換,而且可以加上審核的關卡,測試完成之後審核完成就自動的進行切換,本文就來針對這樣得情境進行介紹如何完成這樣的自動化流程。

...繼續閱讀 »

實做壓縮儲存體並下載功能

  • 264
  • 0

前言

工作上剛好遇到需要將儲存體打包並下載的功能,所以整理了一下程式碼並寫成簡單範例。包含了列出儲存體容器內的檔案和打包下載的功能,壓縮的部分則是使用 SharpZipLib 套件來完成。

...繼續閱讀 »

使用 Azure Load Testing 和 Apache JMeter 腳本來進行負載測試

  • 565
  • 0

前言

在微軟公告停止 Azure DevOps 上的負載測試服務之後,在 Azure 上要進行負載測試就得透過第三方服務或是自行架設 VM 來進行測試,終於微軟推出專用的服務 Azure Load Testing,可以讓我們透過定義好的 JMeter 腳本來進行負載測試,本文就來介紹要如何進行設定和測試,以及服務的費用說明。

...繼續閱讀 »

透過 Azure DevOps 自動部署程式到 Private Link 後的 App Service

  • 497
  • 0

微軟在 Azure 上面提供了 Private Link 這一個服務,可以將 Azure 上的 Pass 變成私有的服務,僅能透過 Private Link 才可以連線到,從外部網路是無法直接連線到,如此對於資安有較大要求的情境,就可以設計出僅在特定網路下才可以連線的架構,但是在這樣的架構下也會產生額外的需求,比如說 App Service 的部署,在這個情境下就不能像之前文章「使用 Visual Studio 部署網站到 App Service」的方式直接部署上去,因為這時候是無法從外部網路直接連線到 App Service 的,而解決的辦法最簡單的方式就是建立一台跳板機 VM,設定和 Private Link 同一個虛擬網路,再透過這一台機器進行部署,但是這樣的方式就得在每次要部署時候在連到跳板機器再去部署,還是不夠方便,因此我們可以透過 Azure DevOps 自動化部署,後面文章就來說明實做設定的流程了。

...繼續閱讀 »

Azure DevOps 自動打包和發佈 NuGet 套件到 Artifacts

  • 476
  • 0

身為使用微軟解決方案的開發者,一定都會使用到 NuGet 套件,不管是官方或是非官方的,一定多少都會使用到。然後在實務上一定會有需求會要建立私人的 NuGet 提供庫,比如說公司內部共用的類別庫,這些很多都牽扯到商業邏輯,不可能直接發佈到官方公開的 NuGet 上,這時候就可以使用 Azure DevOps 內的 Artifacts 來管理和提供套件,既然都已經使用到 Azure DevOps 了,那當然也希望可以自動打包並部署到 Artifacts,不然得在每次 commit 之後還得自己執行指令來打包和推送套件上去,這樣太花時間了,本文就針對 .NET Core 來說明如何設定自動化和使用 Artifacts 取得套件。

...繼續閱讀 »

[筆記] 解決 Azure DevOps 專案成員無法新增 Tag 問題

  • 187
  • 0

在使用 Azure DevOps 的 Boards 的時候,我們新增工作項目時候會很常使用到 Tag 功能來針對項目作標記,方便後續呈現和篩選時候使用,按照預設值應該專案成員都會有新增(定義) Tag 的功能,但是針對新進成員設定權限時候,卻發現成員無法新增 Tag,但是可以選擇已有新增的 Tag,本文記錄解決這個問題的筆記,怕之後遇到會再忘記了XD

...繼續閱讀 »