В конце сборки
- мы собираем всю необходимую информацию
- мы вставляем эту информацию в таблицу SQL Server
Просмотр результатов
Для просмотра результатов мы создали простой файл Excel.
- В Excel мы получаем последние 100 результатов из таблицы BuildServer. Здесь мы решили обновлять этот запрос каждые 30 минут (флажок при создании запроса).
- Мы создали сводную диаграмму для этих данных, показывающую результаты сборки.
- Для автоматического обновления сводных графиков при обновлении запроса мы использовали скрипт vba.
В двух словах, вот и все. Откройте файл 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<YourServer> -d<YourDatabase> -U<UserName> -P<Password> -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