Visual Studio Team Services /TFS helps doing devops

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

Transcript of Visual Studio Team Services /TFS helps doing devops

Приручение слона в

посудной лавке

MS TFS 2015 в большой организации

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

[email protected]

Федерация «Открытия»

Закон и порядок

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

правил

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

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

Федерация.

Технические средства

Найти место TFS

Ой

Приручен

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

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

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

6

23

1

И моё!!!

В очередь !!!

Я тоже хочу !

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

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

Спасибо

[email protected]://github.com/kneradovsky

Q&A