SlideShare uma empresa Scribd logo
1 de 13
Приручение слона в
посудной лавке
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

Mais conteúdo relacionado

Mais procurados

Continuous Delivery для ASP.NET MVC проекта под Linux
Continuous Delivery для ASP.NET MVC проекта под LinuxContinuous Delivery для ASP.NET MVC проекта под Linux
Continuous Delivery для ASP.NET MVC проекта под LinuxDotNetConf
 
Разработка надежных параллельных, распределенных приложений: быстро и дешево
Разработка надежных параллельных, распределенных приложений: быстро и дешевоРазработка надежных параллельных, распределенных приложений: быстро и дешево
Разработка надежных параллельных, распределенных приложений: быстро и дешевоDotNetConf
 
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
"Prom.ua shopping cart workflow as a microfrontend", Danylo KazymyrovFwdays
 
Selenium grid on-demand
Selenium grid on-demandSelenium grid on-demand
Selenium grid on-demandSQALab
 
JavaScript завтра / Сергей Рубанов (Exante Limited)
JavaScript завтра / Сергей Рубанов  (Exante Limited)JavaScript завтра / Сергей Рубанов  (Exante Limited)
JavaScript завтра / Сергей Рубанов (Exante Limited)Ontico
 
Вредные советы для разработчиков
Вредные советы для разработчиковВредные советы для разработчиков
Вредные советы для разработчиковITCrowd Almaty
 
Жизнь в изоляции / Роман Дворнов (Avito)
Жизнь в изоляции / Роман Дворнов (Avito)Жизнь в изоляции / Роман Дворнов (Avito)
Жизнь в изоляции / Роман Дворнов (Avito)Ontico
 
Инструментация среды исполнения в арсенале тестировщика
Инструментация среды исполнения в арсенале тестировщикаИнструментация среды исполнения в арсенале тестировщика
Инструментация среды исполнения в арсенале тестировщикаSQALab
 
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...SQALab
 
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...SECON
 
Разработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервисаРазработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервисаendeveit
 
"Electron. How the most modern framework works" Oleksii Holubiev
"Electron. How the most modern framework works" Oleksii Holubiev"Electron. How the most modern framework works" Oleksii Holubiev
"Electron. How the most modern framework works" Oleksii HolubievFwdays
 
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...JSC “Arcadia Inc”
 
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проектаКолёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проектаITCrowd Almaty
 
Константин Назаров – Распараллеливание сборки Parallels Desktop для Mac
Константин Назаров – Распараллеливание сборки Parallels Desktop для MacКонстантин Назаров – Распараллеливание сборки Parallels Desktop для Mac
Константин Назаров – Распараллеливание сборки Parallels Desktop для Mac404fest
 
Самодиагностика сервисов на базе платформы .NET
Самодиагностика сервисов на базе платформы .NETСамодиагностика сервисов на базе платформы .NET
Самодиагностика сервисов на базе платформы .NETAndrew Gubskiy
 
20 проектов, 6 платформ, больше миллиона строк кода, 3 qa инженера. Дмитрий К...
20 проектов, 6 платформ, больше миллиона строк кода, 3 qa инженера. Дмитрий К...20 проектов, 6 платформ, больше миллиона строк кода, 3 qa инженера. Дмитрий К...
20 проектов, 6 платформ, больше миллиона строк кода, 3 qa инженера. Дмитрий К...Unigine Corp.
 
Как это будет: ASP.NET Core
Как это будет: ASP.NET CoreКак это будет: ASP.NET Core
Как это будет: ASP.NET CoreDotNetConf
 
Денис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в ЯндексеДенис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в ЯндексеYandex
 
Инструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release NotesИнструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release NotesPositive Hack Days
 

Mais procurados (20)

Continuous Delivery для ASP.NET MVC проекта под Linux
Continuous Delivery для ASP.NET MVC проекта под LinuxContinuous Delivery для ASP.NET MVC проекта под Linux
Continuous Delivery для ASP.NET MVC проекта под Linux
 
Разработка надежных параллельных, распределенных приложений: быстро и дешево
Разработка надежных параллельных, распределенных приложений: быстро и дешевоРазработка надежных параллельных, распределенных приложений: быстро и дешево
Разработка надежных параллельных, распределенных приложений: быстро и дешево
 
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
"Prom.ua shopping cart workflow as a microfrontend", Danylo Kazymyrov
 
Selenium grid on-demand
Selenium grid on-demandSelenium grid on-demand
Selenium grid on-demand
 
JavaScript завтра / Сергей Рубанов (Exante Limited)
JavaScript завтра / Сергей Рубанов  (Exante Limited)JavaScript завтра / Сергей Рубанов  (Exante Limited)
JavaScript завтра / Сергей Рубанов (Exante Limited)
 
Вредные советы для разработчиков
Вредные советы для разработчиковВредные советы для разработчиков
Вредные советы для разработчиков
 
Жизнь в изоляции / Роман Дворнов (Avito)
Жизнь в изоляции / Роман Дворнов (Avito)Жизнь в изоляции / Роман Дворнов (Avito)
Жизнь в изоляции / Роман Дворнов (Avito)
 
Инструментация среды исполнения в арсенале тестировщика
Инструментация среды исполнения в арсенале тестировщикаИнструментация среды исполнения в арсенале тестировщика
Инструментация среды исполнения в арсенале тестировщика
 
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
Threads & LinkedClone. Как сократить время на развертывание продукта и подгот...
 
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
 
Разработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервисаРазработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервиса
 
"Electron. How the most modern framework works" Oleksii Holubiev
"Electron. How the most modern framework works" Oleksii Holubiev"Electron. How the most modern framework works" Oleksii Holubiev
"Electron. How the most modern framework works" Oleksii Holubiev
 
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...
 
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проектаКолёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
 
Константин Назаров – Распараллеливание сборки Parallels Desktop для Mac
Константин Назаров – Распараллеливание сборки Parallels Desktop для MacКонстантин Назаров – Распараллеливание сборки Parallels Desktop для Mac
Константин Назаров – Распараллеливание сборки Parallels Desktop для Mac
 
Самодиагностика сервисов на базе платформы .NET
Самодиагностика сервисов на базе платформы .NETСамодиагностика сервисов на базе платформы .NET
Самодиагностика сервисов на базе платформы .NET
 
20 проектов, 6 платформ, больше миллиона строк кода, 3 qa инженера. Дмитрий К...
20 проектов, 6 платформ, больше миллиона строк кода, 3 qa инженера. Дмитрий К...20 проектов, 6 платформ, больше миллиона строк кода, 3 qa инженера. Дмитрий К...
20 проектов, 6 платформ, больше миллиона строк кода, 3 qa инженера. Дмитрий К...
 
Как это будет: ASP.NET Core
Как это будет: ASP.NET CoreКак это будет: ASP.NET Core
Как это будет: ASP.NET Core
 
Денис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в ЯндексеДенис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в Яндексе
 
Инструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release NotesИнструмент ChangelogBuilder для автоматической подготовки Release Notes
Инструмент ChangelogBuilder для автоматической подготовки Release Notes
 

Semelhante a Visual Studio Team Services /TFS helps doing devops

Типовая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesТиповая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesPositive Hack Days
 
Павел Беликов, Опыт мигрирования крупного проекта с Windows-only на Linux
Павел Беликов, Опыт мигрирования крупного проекта с Windows-only на LinuxПавел Беликов, Опыт мигрирования крупного проекта с Windows-only на Linux
Павел Беликов, Опыт мигрирования крупного проекта с Windows-only на LinuxPlatonov Sergey
 
Cеминар в Виннице (22.03.2014)
Cеминар в Виннице (22.03.2014)Cеминар в Виннице (22.03.2014)
Cеминар в Виннице (22.03.2014)Alexander Babich
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеSQALab
 
What's new in Visual Studio 2012
What's new in Visual Studio 2012What's new in Visual Studio 2012
What's new in Visual Studio 2012InTRUEdeR
 
Технологии разработки ПО
Технологии разработки ПОТехнологии разработки ПО
Технологии разработки ПОAnton Konushin
 
SECON'2016. Панин Сергей, Лебедев Андрей, Храмушин Дмитрий, IT-инфраструктура...
SECON'2016. Панин Сергей, Лебедев Андрей, Храмушин Дмитрий, IT-инфраструктура...SECON'2016. Панин Сергей, Лебедев Андрей, Храмушин Дмитрий, IT-инфраструктура...
SECON'2016. Панин Сергей, Лебедев Андрей, Храмушин Дмитрий, IT-инфраструктура...SECON
 
Непрерывная интеграция при разработке баз данных. (Show version)
Непрерывная интеграция при разработке баз данных. (Show version)Непрерывная интеграция при разработке баз данных. (Show version)
Непрерывная интеграция при разработке баз данных. (Show version)Vladimir Bakhov
 
Building deployment pipeline - DevOps way
Building deployment pipeline - DevOps wayBuilding deployment pipeline - DevOps way
Building deployment pipeline - DevOps wayAndrey Rebrov
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Yandex
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Yandex
 
UWDC 2013, Как мы используем Yii
UWDC 2013, Как мы используем YiiUWDC 2013, Как мы используем Yii
UWDC 2013, Как мы используем YiiAlexander Makarov
 
Приемы Сontinuous Integration при разработке приложений на Caché
Приемы Сontinuous Integration при разработке приложений на CachéПриемы Сontinuous Integration при разработке приложений на Caché
Приемы Сontinuous Integration при разработке приложений на CachéInterSystems CEE
 
Caché github continuous intergration
Caché github continuous intergrationCaché github continuous intergration
Caché github continuous intergrationInterSystems
 
Cовременные подходы организации процессов разработки
Cовременные подходы организации процессов разработкиCовременные подходы организации процессов разработки
Cовременные подходы организации процессов разработкиАлександр Шамрай
 
дерюшкин Agile vector
дерюшкин   Agile vectorдерюшкин   Agile vector
дерюшкин Agile vectorMagneta AI
 
Agile Vector - внедрение agile разработки в Райффайзенбанке
Agile Vector - внедрение agile разработки в РайффайзенбанкеAgile Vector - внедрение agile разработки в Райффайзенбанке
Agile Vector - внедрение agile разработки в РайффайзенбанкеAlexey Deryushkin
 

Semelhante a Visual Studio Team Services /TFS helps doing devops (20)

Типовая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesТиповая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive Technologies
 
Павел Беликов, Опыт мигрирования крупного проекта с Windows-only на Linux
Павел Беликов, Опыт мигрирования крупного проекта с Windows-only на LinuxПавел Беликов, Опыт мигрирования крупного проекта с Windows-only на Linux
Павел Беликов, Опыт мигрирования крупного проекта с Windows-only на Linux
 
Cеминар в Виннице (22.03.2014)
Cеминар в Виннице (22.03.2014)Cеминар в Виннице (22.03.2014)
Cеминар в Виннице (22.03.2014)
 
Little Service in 2h
Little Service in 2hLittle Service in 2h
Little Service in 2h
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
What's new in Visual Studio 2012
What's new in Visual Studio 2012What's new in Visual Studio 2012
What's new in Visual Studio 2012
 
Технологии разработки ПО
Технологии разработки ПОТехнологии разработки ПО
Технологии разработки ПО
 
Team workflow
Team workflowTeam workflow
Team workflow
 
SECON'2016. Панин Сергей, Лебедев Андрей, Храмушин Дмитрий, IT-инфраструктура...
SECON'2016. Панин Сергей, Лебедев Андрей, Храмушин Дмитрий, IT-инфраструктура...SECON'2016. Панин Сергей, Лебедев Андрей, Храмушин Дмитрий, IT-инфраструктура...
SECON'2016. Панин Сергей, Лебедев Андрей, Храмушин Дмитрий, IT-инфраструктура...
 
Непрерывная интеграция при разработке баз данных. (Show version)
Непрерывная интеграция при разработке баз данных. (Show version)Непрерывная интеграция при разработке баз данных. (Show version)
Непрерывная интеграция при разработке баз данных. (Show version)
 
Building deployment pipeline - DevOps way
Building deployment pipeline - DevOps wayBuilding deployment pipeline - DevOps way
Building deployment pipeline - DevOps way
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»
 
UWDC 2013, Как мы используем Yii
UWDC 2013, Как мы используем YiiUWDC 2013, Как мы используем Yii
UWDC 2013, Как мы используем Yii
 
Приемы Сontinuous Integration при разработке приложений на Caché
Приемы Сontinuous Integration при разработке приложений на CachéПриемы Сontinuous Integration при разработке приложений на Caché
Приемы Сontinuous Integration при разработке приложений на Caché
 
Caché github continuous intergration
Caché github continuous intergrationCaché github continuous intergration
Caché github continuous intergration
 
Cовременные подходы организации процессов разработки
Cовременные подходы организации процессов разработкиCовременные подходы организации процессов разработки
Cовременные подходы организации процессов разработки
 
дерюшкин Agile vector
дерюшкин   Agile vectorдерюшкин   Agile vector
дерюшкин Agile vector
 
Agile Vector - внедрение agile разработки в Райффайзенбанке
Agile Vector - внедрение agile разработки в РайффайзенбанкеAgile Vector - внедрение agile разработки в Райффайзенбанке
Agile Vector - внедрение agile разработки в Райффайзенбанке
 
DevOps guide for awesome quality assurance
DevOps guide for awesome quality assuranceDevOps guide for awesome quality assurance
DevOps guide for awesome quality assurance
 

Visual Studio Team Services /TFS helps doing devops

  • 1. Приручение слона в посудной лавке MS TFS 2015 в большой организации Константин Нерадовский, банк «Открытие» kneradovsky@gmail.com
  • 2. Федерация «Открытия» Закон и порядок • Создание правил • Контроль выполнения правил • Следование правилам • Достижение бизнес целей • Выбор технических организационных инструментов В командах есть: • Task Tracker, Defects Tracker • SCM • Build Machine Они тесно интегрированы
  • 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. Как это сделано? 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/
  • 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