簡體   English   中英

在CI構建管道中臨時更新appsettings.json文件

[英]Updating appsettings.json file during CI build pipeline temporarily

我有一個在Azure DevOps CI管道中構建的.NET Core應用程序。 在CI期間,我還使用dotnet ef migrations script命令從EF遷移生成sql腳本,然后在CD管道中運行該dotnet ef migrations script 當我過去將連接字符串存儲在appsettings.json文件中時,一切都很好。 但是,情況不再如此,現在我將用戶密鑰用於本地版本,將Azure AppService應用程序設置用於已部署的版本。 這意味着CI管道一旦嘗試運行dotnet命令將失敗,因為連接字符串將為空。 我進行了研究,以查看是否可以在運行時將連接字符串動態添加到dotnet命令中 ,但這不是一個選擇(盡管如此,但看起來開發團隊已制定了計划)。 我想到了在CI期間轉換appsettings.json文件的想法。 基本上,我將連接字符串存儲在變量下,並通過使用File Transform任務將其注入到appsettings.json文件中。 但是問題在於此任務將更新並保存文件,這意味着在發布過程中它將具有更新的文件。 但是我想要的只是臨時轉換文件,這樣我就可以運行dotnet命令而沒有任何問題,並且也可以不部署帶有連接字符串的json文件。 知道我如何實現這一目標嗎?

文件轉換任務僅適用於變量。 因此,我最終使用了Magic Chunk任務2次。 轉換appsettings.json的一項任務,以便在生成sql腳本之前具有連接字符串。 第二個任務是相反的-再次轉換appsettings.json,以便在生成遷移sql腳本后,連接字符串將為空字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM