首頁

目前文章總數:157 篇

  

最後更新:2024年 12月 07日

0054. .Net Core WebSite 佈署後確認Git的Version(版本號)

日期:2023年 11月 03日

標籤: C# Asp.net Core Web MVC Web GrayLog Software Version Jenkins

摘要:C# 學習筆記


應用所需:1. 一台已架設好的 GrayLog Server
     2. Visual Studio 2022 以上,支援.net Core6
範例檔案:範例檔案
解決問題:1. .Net Core 佈署遠端的機器後,如何傳送Log確認當前使用的Git版本號
GrayLog Server 可參考連結
基本介紹:本篇分為三大部分。
第一部分:配置並發送Log
第二部分:設定Jenkins
第三部分:Demo成果






第一部分:配置並發送Log

Step 1:設定Program.cs

設定起始檔案,延續上份範例代碼,增加以下:

//5. Jenkins 部署後,發個Log
var config = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory())
                                      .AddJsonFile("version.json", optional: true, reloadOnChange: true)
                                      .Build();
var version = config.GetSection("version").Value;
Log.Information($@"MilkTeaGreen Test GitTag  => {version}");



第二部分:設定Jenkins

Step 1:原始碼管理

新建立一個Job
1. 原始碼管理
2. Git 這邊是用範例代碼
3. 選擇正確的分支


Step 2:設定佈署-1

這邊範例適用.net core ,配置如下:

path C:\Program Files\dotnet\
dotnet publish GrayLogSendLogExample\GrayLogSendLogExample.csproj -c Release -o D:\IISGetVersion


Step 3:設定佈署-2

產生一個Git的Version的.json檔案,因為Jenkins 有拉代碼,所以可以得知當前佈署的Git Tag

:: 產生GitTag的檔案,做version查詢
echo { "version": "%GIT_COMMIT%" } > version.json
move version.json D:\IISGetVersion


完整的圖:


第三部分:Demo成果

Step 1:建置Jenkins

對Jenkins進行該Job的建置


Step 2:建置Jenkins

可以看到佈署後產生version.json檔案


Step 3:確認檔案內容

version內容如下:

{ "version": "75bfb4f5c8390a279261bf0e2d6714f806a0897c" } 




Step 4:對應GitTag

此versoin其實就是對應最後簽入的Git Tag


Step 5:驗證成果

當啟動時,成功發送Log於GrayLog Server上,可以看到當前網站版本:75bfb4f5c8390a279261bf0e2d6714f806a0897c