在构建结束时
我们汇总所有相关信息
我们将此信息插入SQL Server表
查看结果
要查看结果,我们创建了一个简单的Excel文件。
在Excel中,我们从BuildServer表中获取最新的100个结果。在这里,我们选择每30分钟刷新一次这个查询(创建查询时的复选框)。
我们在此数据上创建了一个数据透视图,显示了构建的结果。
要在刷新查询时自动刷新透视图,我们使用了vba脚本。
简而言之,就是这样。在连接到LCD的计算机上打开Excel文件,结果每30分钟刷新一次。
脚本
使用以下批处理文件进行聚合和插入。
FOR /F "tokens=3 delims=:" %%A in ('FIND /c "Fatal:" "%Temp%\Build.txt"') DO SET FatalErrors=%%A
FOR /F "tokens=3 delims=:" %%A in ('FIND /c "Error:" "%Temp%\Build.txt"') DO SET Errors=%%A
FOR /F "tokens=3 delims=:" %%A in ('FIND /c "Warning:" "%Temp%\Build.txt"') DO SET Warnings=%%A
FOR /F "tokens=3 delims=:" %%A in ('FIND /c "Hint:" "%Temp%\Build.txt"') DO SET Hints=%%A
FOR /F "tokens=3 delims=:" %%A in ('FIND /c " at " "%Temp%\TestRun.txt"') DO SET TestFailures=%%A
sqlcmd -S -d -U -P -Q"INSERT INTO dbo.BuildServer (Initials, CreatedOn, FatalErrors, Errors, Warnings, Hints, TestFailures) VALUES ('%Initialen%', GETDATE(), %FatalErrors%, %Errors%, %Warnings%, %Hints%, %TestFailures%)"
用于刷新所有数据透视表的Vba脚本
Private Sub Worksheet_Change(ByVal Target As Range)
Dim pt As PivotTable
Dim ws As Worksheet
For Each ws In Application.Worksheets
For Each pt In ws.PivotTables
pt.RefreshTable
Next pt
Next ws
End Sub