Приручение слона в
посудной лавке
MS TFS 2015 в большой
организации
Константин Нерадовский, банк «Открытие»
kneradovsky@gmail.com
Федерация «Открытия»
Закон и порядок
• Создание правил
• Контроль выполнения
правил
• Следование правилам
• Достижение бизнес целей
• Выбор технических организационных инструментов
В командах есть:
• Task Tracker, Defects Tracker
• SCM
• Build Machine
Они тесно интегрированы
Федерация.
Технические средства
Найти место TFS
Ой
Приручен
Сборка Java, Ruby
Публикация результатов в TFS
Сборка C#, PHP
SCM (TFS Git)
Task Tracker
Bug Tracker
Release management
Обогнать время и влезть в окно
6
231
И моё!!!
В очередь !!!
Я тоже хочу !
Из одного окна - много
6
2 31
6
4
6
1 2
Агент 1
Агент 2
Агент 3
Ссылки на «оригинальные» сборки
доступны на Summary Page
Результаты сборок публикуются как тесты
13 часов тестов в шестичасовом окне
1
Не пропустить ни одного падения
• Автотесты «падают»
• «Падения» содержат диагностику (stacktrace, screenshot …)
• «Падения» необходимо фиксировать и разбирать – вручную создавать
дефекты на каждое падение
• Автоматически создается дефект:
• Name – название автотеста
• Description – диагностика из падения
• Assignee – ответственный за этот
запуск автотестов
{
“TestBuild1": {
"user":“username1",
"mandatoryFields" : {
“Vendor.System": System1"
}
},
“TestBuild2": {
"user":“username2",
"mandatoryFields" : {
“Vendor.System": “System2"
}
},
"default": {
"user":“username2",
"mandatoryFields" : {
“Vendor.System": "<Прочее>"
}
}
}
Jenkins делится результатами
Требования к интеграции VSTS и Jenkins
• VSTS запускает сборку на Jenkins
• Артефакты сборки доступны в VSTS
• Результаты тестов доступны в VSTS
• Дополнительные отчеты Jenkins доступны в VSTS
Как это сделано?
VSTS Tasks Bootstrap
https://github.com/kneradovsky/viko-vsts-extension
• Быстрое создание задачи
• Упаковка задачи в расширение vsix для распространения
• Примеры задач – AutoDefects, Builds Starter, Builds Awaiter
• IntelliSense and static checks
• ECMA Script 2015 транслируется в ECMA Script 3
• Пакеты для работы с API VSTS (vso-node-api) и окружением задачи
(vsts-task-lib)
• Доступны любые npm пакеты
• Работает на Linux агентах
TypeScript - typed superset of the JavaScript
https://www.typescriptlang.org/
Bootstrap
создать, собрать, упаковать
• gulp – сборка всех задач из проектного списка сборки
• Трансляция .ts в .js
• Установка node_modules в каталог задачи
• Генерация языковых файлов
Опубликовать
Запаковать
Собрать
Создать
gulp mkext <TaskName1,TaskName2>
• Упаковка всех задач из проектного списка как отдельных
расширений .vsix
• Если указан параметр – упаковка только перечисленных
задач.
tfx-cli publish
gulp generate --name TaskName
• Задача добавляется в проектный список задач для сборки
• Создание каталога задачи и «скелетных» файлов –
taskname.ts, task.json, package.json, typings.json, icon.png
Спасибо
kneradovsky@gmail.com
https://github.com/kneradovsky
Q&A
Visual Studio Team Services /TFS helps doing devops

Visual Studio Team Services /TFS helps doing devops

  • 1.
    Приручение слона в посуднойлавке MS TFS 2015 в большой организации Константин Нерадовский, банк «Открытие» kneradovsky@gmail.com
  • 2.
    Федерация «Открытия» Закон ипорядок • Создание правил • Контроль выполнения правил • Следование правилам • Достижение бизнес целей • Выбор технических организационных инструментов В командах есть: • Task Tracker, Defects Tracker • SCM • Build Machine Они тесно интегрированы
  • 3.
  • 4.
  • 5.
    Приручен Сборка Java, Ruby Публикациярезультатов в TFS Сборка C#, PHP SCM (TFS Git) Task Tracker Bug Tracker Release management
  • 6.
    Обогнать время ивлезть в окно 6 231 И моё!!! В очередь !!! Я тоже хочу !
  • 7.
    Из одного окна- много 6 2 31 6 4 6 1 2 Агент 1 Агент 2 Агент 3 Ссылки на «оригинальные» сборки доступны на Summary Page Результаты сборок публикуются как тесты 13 часов тестов в шестичасовом окне 1
  • 8.
    Не пропустить ниодного падения • Автотесты «падают» • «Падения» содержат диагностику (stacktrace, screenshot …) • «Падения» необходимо фиксировать и разбирать – вручную создавать дефекты на каждое падение • Автоматически создается дефект: • Name – название автотеста • Description – диагностика из падения • Assignee – ответственный за этот запуск автотестов { “TestBuild1": { "user":“username1", "mandatoryFields" : { “Vendor.System": System1" } }, “TestBuild2": { "user":“username2", "mandatoryFields" : { “Vendor.System": “System2" } }, "default": { "user":“username2", "mandatoryFields" : { “Vendor.System": "<Прочее>" } } }
  • 9.
    Jenkins делится результатами Требованияк интеграции VSTS и Jenkins • VSTS запускает сборку на Jenkins • Артефакты сборки доступны в VSTS • Результаты тестов доступны в VSTS • Дополнительные отчеты Jenkins доступны в VSTS
  • 10.
    Как это сделано? VSTSTasks Bootstrap https://github.com/kneradovsky/viko-vsts-extension • Быстрое создание задачи • Упаковка задачи в расширение vsix для распространения • Примеры задач – AutoDefects, Builds Starter, Builds Awaiter • IntelliSense and static checks • ECMA Script 2015 транслируется в ECMA Script 3 • Пакеты для работы с API VSTS (vso-node-api) и окружением задачи (vsts-task-lib) • Доступны любые npm пакеты • Работает на Linux агентах TypeScript - typed superset of the JavaScript https://www.typescriptlang.org/
  • 11.
    Bootstrap создать, собрать, упаковать •gulp – сборка всех задач из проектного списка сборки • Трансляция .ts в .js • Установка node_modules в каталог задачи • Генерация языковых файлов Опубликовать Запаковать Собрать Создать gulp mkext <TaskName1,TaskName2> • Упаковка всех задач из проектного списка как отдельных расширений .vsix • Если указан параметр – упаковка только перечисленных задач. tfx-cli publish gulp generate --name TaskName • Задача добавляется в проектный список задач для сборки • Создание каталога задачи и «скелетных» файлов – taskname.ts, task.json, package.json, typings.json, icon.png
  • 12.