константин нерадовский, слон в посудной лавке. visual...

12
Приручение слона в посудной лавке MS TFS 2015 в большой организации Константин Нерадовский, банк «Открытие»

Upload: meyouslide

Post on 20-Mar-2017

91 views

Category:

Art & Photos


0 download

TRANSCRIPT

Page 1: константин нерадовский, слон в посудной лавке. Visual studio team services в большой организации

Приручение слона в посудной лавкеMS TFS 2015 в большой

организации

Константин Нерадовский, банк «Открытие»

Page 2: константин нерадовский, слон в посудной лавке. Visual studio team services в большой организации

Федерация «Открытия»Закон и порядок

Центр

Команда 1

Команда 2

Команда N

• Создание правил• Контроль выполнения

правил

• Следование правилам• Достижение бизнес целей• Выбор технических организационных инструментов

В командах есть:• Task Tracker, Defects Tracker• SCM• Build MachineОни тесно интегрированы

Page 3: константин нерадовский, слон в посудной лавке. Visual studio team services в большой организации

Федерация. Технические средства

Page 4: константин нерадовский, слон в посудной лавке. Visual studio team services в большой организации

Найти место TFS

Ой

Page 5: константин нерадовский, слон в посудной лавке. Visual studio team services в большой организации

Приручен

Сборка Java, RubyПубликация результатов в TFS

Сборка C#, PHPSCM (TFS Git)Task TrackerBug TrackerRelease management

Page 6: константин нерадовский, слон в посудной лавке. Visual studio team services в большой организации

Обогнать время и влезть в окно

8

23

11

И моё!!!

В очередь !!!

Я тоже хочу !

Page 7: константин нерадовский, слон в посудной лавке. Visual studio team services в большой организации

Из одного окна - много

7

62 31

64

61 2

Агент 1

Агент 2

Агент 3

Ссылки на «оригинальные» сборки доступны на Summary Page

Результаты сборок публикуются как тесты

13 часов тестов в шестичасовом окне

Page 8: константин нерадовский, слон в посудной лавке. Visual studio team services в большой организации

Не пропустить ни одного падения

• Автотесты «падают»• «Падения» содержат диагностику (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": "<Прочее>" } }}

Page 9: константин нерадовский, слон в посудной лавке. Visual studio team services в большой организации

Jenkins делится результатамиТребования к интеграции VSTS и Jenkins• VSTS запускает сборку на Jenkins• Артефакты сборки доступны в VSTS• Результаты тестов доступны в VSTS• Дополнительные отчеты Jenkins доступны в VSTS

Page 10: константин нерадовский, слон в посудной лавке. Visual studio team services в большой организации

Как это сделано?

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/

Page 11: константин нерадовский, слон в посудной лавке. Visual studio team services в большой организации

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

Page 12: константин нерадовский, слон в посудной лавке. Visual studio team services в большой организации