Download - константин нерадовский, слон в посудной лавке. Visual studio team services в большой организации
Приручение слона в посудной лавкеMS TFS 2015 в большой
организации
Константин Нерадовский, банк «Открытие»
Федерация «Открытия»Закон и порядок
Центр
Команда 1
Команда 2
Команда N
• Создание правил• Контроль выполнения
правил
• Следование правилам• Достижение бизнес целей• Выбор технических организационных инструментов
В командах есть:• Task Tracker, Defects Tracker• SCM• Build MachineОни тесно интегрированы
Федерация. Технические средства
Найти место TFS
Ой
Приручен
Сборка Java, RubyПубликация результатов в TFS
Сборка C#, PHPSCM (TFS Git)Task TrackerBug TrackerRelease management
Обогнать время и влезть в окно
8
23
11
И моё!!!
В очередь !!!
Я тоже хочу !
Из одного окна - много
7
62 31
64
61 2
Агент 1
Агент 2
Агент 3
Ссылки на «оригинальные» сборки доступны на Summary Page
Результаты сборок публикуются как тесты
13 часов тестов в шестичасовом окне
Не пропустить ни одного падения
• Автотесты «падают»• «Падения» содержат диагностику (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