SlideShare a Scribd company logo
1 of 24
Миграция JIRA – безобразие
или безрассудство?
Никита Налютин
Experian Decision Analytics
Пару слов о себе
1996-2002 разработчик
1999 получил Excellence in
Computer Science Award
2002 пришел в тестирование
2002-2015 самолеты-трейдинг-
видео-банки…
2007 книга «Верификация ПО»,
издана при поддержке
2008 кандидат технических наук
2012- Тест-менеджер
Выступаю на SQA Days
2009-2015
Пару слов о себе
1996-2002 разработчик
1999 получил Excellence in
Computer Science Award
2002 пришел в тестирование
2002-2015 самолеты-трейдинг-
видео-банки…
2007 книга «Верификация ПО»,
издана при поддержке
2008 кандидат технических наук
2012- Тест-менеджер
Выступаю на SQA Days
2009-2014 с бородой
2015- без бороды
Предупреждение
В презентации есть
быдлокод (с багами)
и
XML
О чем будем говорить
• Миграция JIRA в крупной компании
• Какие процессы не видны с самого начала
• Какие подразделения вовлечены в процесс
• Как поковыряться во внутренностях JIRA
Как понять, что уже пора?
• Количество сбоев JIRA слишком велико
• Поддержка JIRA внешним вендором
дороже поддержки своими силами
• Нет возможности установить в JIRA нужные
расширения
• Настройки JIRA не соответствуют
внутреним политикам безопасности
Процесс в маленькой компании
го джира,
я создал
Процесс в средней компании
1 2 3
JIRA админ
Финансы
Закупки
Железо и софт
Пользователи
Энтерпрайз: бессмысленный и беспощадный
1 2 3 4 5 6 7 8 9 10 11 12
JIRA админ
PM
Принятие решений
Финансы
Закупки
Железо
Софт
Аутентификация
Файерволлы
Пентест
Вендор
Пользователи
Кто на самом деле вовлечен в
процесс миграции?
• Администратор JIRA
• Лица, принимающие решения
• Финансовый департамент
• Отдел закупок
• ИТ-департамент
– железо
– софт
• Отдел ИБ
– сетевые экраны
– аутентификация
– пентест
• Предыдущий вендор
Медленно и печально завершаем
отношения с вендором
• Предупреждаем о завершении отношений
только когда сами понимаем, что готовы
• Собираем все неоплаченные счета
• Определяем самую дешевую дату для
переноса
• Определяем процедуру
передачи данных
• Договариваемся о
времени реакции
Планирование внутренней
инфраструктуры: CAPEX
H/W CAPEX S/W CAPEX
Назначение Тип Цена сервера Цена диска Цена JIRA Цена СУБД Цена ОС
Прод Физ $$$$ $$$ $$$$ - $$
Тест VM $ $ $ - $$
Бэкап Физ $$ $$$$ - - -
Existing Server(s)? No
Existing Hardware? Yes
Location Datacenter
Server type Dev VMware
CPUs 1
Cores per
CPU
4
Memory 8GB
Operating system Windows 2008 R2 std 64-bit
Drive Size Tier Existing HW?Backup?
C: 40GB 1 (no mirror) No Yes
D: Data 25GB 1 (no mirror) No Yes
E: 28GB 1 (no mirror) No Yes
Users User 1
Monitoring None
Patching Contact User 2
Планирование внутренней
инфраструктуры: OPEX
Активности
Управление проектом
Технический консалтинг
Технические спецификации
Планирование аппаратного обеспечения
Планирование хранения
Администрирование БД
Мониторинг сервисов
Резервное копирование
Мониторинг безопасности
Тест на проникновение
Все это – минимум
на год вперед
Планирование внутренней
инфраструктуры: сеть и фаерволлы
MAIL RELAY
TCP
25
SVN VLAN
JIRA UAT
uat-jira.internal
JIRA Prod
prod-jira.internal
Internet
Jira update
Service
TCP
25
TCP
3690
Offices
10.0.0.0/8
TCP21,80,443,
3690
3389
atlassian .com
131.103.28.5
131.103.28.7
131.103.28.11
Внешняя аутентификация
• Защита от проникновения
• Соответствие
корпоративным стандартам
• Централизованное
управление доступом
• Необходимость в интеграции с внешним сервисом
• Нужно четко прописывать процесс управления аккаунтами
• Добавление пользователя может быть длительным
• Процедура входа в систему может стать неудобной
Препарируем Seraph
import javax.servlet.http.HttpServletRequest;
import com.atlassian.seraph.filter.PasswordBasedLoginFilter;
public class SSOFilter extends PasswordBasedLoginFilter {
private static final String httpHeaderName_userId = “remote-user";
@Override
protected UserPasswordPair extractUserPasswordPair(
HttpServletRequest request) {
String username = request.getHeader(httpHeaderName_userId);
if (username != null && username.trim().length() != 0) {
return new PasswordBasedLoginFilter.UserPasswordPair(
username, "DUMMY", false);
}
return null;
}
}
Препарируем Seraph
import java.security.Principal;
import com.atlassian.seraph.auth.*;
import com.atlassian.crowd.embedded.api.CrowdService;
import com.atlassian.jira.component.ComponentAccessor;
public class SSOAuthenticator extends DefaultAuthenticator {
private static final long serialVersionUID = 1L;
protected boolean authenticate(Principal user, String password)
throws AuthenticatorException {
return true;
}
protected Principal getUser(String username) {
return getCrowdService().getUser(username);
}
private CrowdService getCrowdService() {
return
(CrowdService)ComponentAccessor.getComponent(CrowdService.class);
}
}
Выкидываем родной ввод пароля
seraph-config.xml:
<authenticator class="com.company.jira.SSOAuthenticator"/>
web.xml:
<filter>
<filter-name>login</filter-name>
<filter-class>com.company.jira.SSOFilter</filter-class>
</filter>
jpm.xml:
Убираем login gadget
jira-config.properties:
jira.websudo.is.disabled = true
Перенос настроек проектов
• Переносим все проекты
• Удаляем их, оставляем только настройки
• Делаем бэкап
• Для каждого нового проекта создаем его с нуля
• Создаем такие же настройки как в старой
системе: workflow, roles, screens, …
• Переносим проекты по одному
Файлы экспорта под микроскопом
Версия JIRA
<OSPropertyString id="10037" value="6338"/>
Ненужные записи журнала аудита
<data tableName="AO_78C957_AUDITEVENTS">
<data tableName="AO_78C957_AUDITHINT">
<data tableName="AO_78C957_NOTIFICATION_HIST">
Версии плагинов
<PluginVersion id="10966" name="User Group Picker"
key="com.keplerrominfo.jira.plugins.usergrouppicker" version="2.6.4-J631"
created="2014-10-31 15:13:52.0"/>
<SequenceValueItem seqName="PluginVersion" seqId="10970"/>
Селекторы пользователей
<CustomField id="10011" customfieldtypekey="com.iamhuy.jira.plugin.issue-
alternative-assignee:userselectbox-customfield"
customfieldsearcherkey="com.iamhuy.jira.plugin.issue-alternative-
assignee:userpickerprojectrolesearcher" name="Internal contact"/>
Поэтапный перенос проектов
Сервер Жив? Клиент? Данные есть? Обновлен Миграция Проект Руководитель
P U да да запрошены 10.05.15 15.05.15 BEEF J. Doe
P нет да 30.04.15 25.04.15 02.05.15 CODE V. Pupkin
P да нет 01.05.15 30.04.15 asap COOL H. Grant
P нет нет 01.02.15 30.12.14 late DEAD V. Lenin
• Учим пользователей заранее
• Согласовываем дату переноса
• Объединяем проекты в волны
• Следим за изменениями на старом
сервере
• Спокойно относимся к переносам сроков
• Отслеживаем целостность данных
• Не забываем оповещать о переходе
Как убедиться, что все хорошо
• Не тестировать на production
• Делать повторный экспорт
• Сравнивать XML
• Сравнивать базы
• Проверять вручную самому
• Давать проверять пользователям
Полезные ссылки
• https://confluence.atlassian.com/display/JIRA064/Upgrading+JIRA
• https://confluence.atlassian.com/display/JIRA044/Advanced+JIRA+Configuration
• https://answers.atlassian.com/questions/296109/disable-jira-login-page-with-seraph-sso
• http://stackoverflow.com/questions/16273566/jira-5-2-seraph-sso-login-behind-reverse-proxy
Вопросы?
Я все еще
Никита Налютин
Задать вопросы можно
- здесь (навыки поиска не нужны)
- в соцсетях (умение искать пригодится)

More Related Content

What's hot

Requirement Managament System based on Wiki (Confluence+Jira)
Requirement Managament System based on Wiki (Confluence+Jira)Requirement Managament System based on Wiki (Confluence+Jira)
Requirement Managament System based on Wiki (Confluence+Jira)Alexander Baikin
 
Методология ведения проектов
Методология ведения проектовМетодология ведения проектов
Методология ведения проектовAlexanderAvva
 
инструментальные средства управления проектами
инструментальные средства управления проектамиинструментальные средства управления проектами
инструментальные средства управления проектамиAndrew Fadeev
 
Microsoft ALM вопросы лицензирования
Microsoft ALM вопросы лицензированияMicrosoft ALM вопросы лицензирования
Microsoft ALM вопросы лицензированияAndrew Fadeev
 
Обзорная презентация Atlassian GreenHopper
Обзорная презентация Atlassian GreenHopperОбзорная презентация Atlassian GreenHopper
Обзорная презентация Atlassian GreenHopperTeamlead
 
Корпоративный портал на Confluence в компании Ланта-Тур
Корпоративный портал на Confluence в компании Ланта-ТурКорпоративный портал на Confluence в компании Ланта-Тур
Корпоративный портал на Confluence в компании Ланта-ТурTeamlead
 
Расширение функционала продуктов Atlassian с помощью плагинов
Расширение функционала продуктов Atlassian с помощью плагиновРасширение функционала продуктов Atlassian с помощью плагинов
Расширение функционала продуктов Atlassian с помощью плагиновAndrey Rebrov
 
Использование Jira Agile как инструмент для контроля гибкой разработкиLaf2015...
Использование Jira Agile как инструмент для контроля гибкой разработкиLaf2015...Использование Jira Agile как инструмент для контроля гибкой разработкиLaf2015...
Использование Jira Agile как инструмент для контроля гибкой разработкиLaf2015...Алексей Тихонович
 
Шаблонизируй это. Как паттерны требований облегчают жизнь аналитика
Шаблонизируй это. Как паттерны требований облегчают жизнь аналитикаШаблонизируй это. Как паттерны требований облегчают жизнь аналитика
Шаблонизируй это. Как паттерны требований облегчают жизнь аналитикаSQALab
 
Обзор и архитектура MS Visual Studio Team System 2008
Обзор и архитектура MS Visual Studio Team System 2008Обзор и архитектура MS Visual Studio Team System 2008
Обзор и архитектура MS Visual Studio Team System 2008Александр Шамрай
 
Обзорная презентация Atlassian Confluence
Обзорная презентация Atlassian ConfluenceОбзорная презентация Atlassian Confluence
Обзорная презентация Atlassian ConfluenceTeamlead
 
Cовременные подходы организации процессов разработки
Cовременные подходы организации процессов разработкиCовременные подходы организации процессов разработки
Cовременные подходы организации процессов разработкиАлександр Шамрай
 
Особенности анализа в проектах по разработке сервисов
Особенности анализа в проектах по разработке сервисовОсобенности анализа в проектах по разработке сервисов
Особенности анализа в проектах по разработке сервисовSQALab
 
Е.Зинин и Г.Кудрявцев (Мегаплан) "Мегаплан"
Е.Зинин и Г.Кудрявцев (Мегаплан) "Мегаплан"Е.Зинин и Г.Кудрявцев (Мегаплан) "Мегаплан"
Е.Зинин и Г.Кудрявцев (Мегаплан) "Мегаплан"PCampRussia
 
Рецепт поиска запросов в Jira
Рецепт поиска запросов в JiraРецепт поиска запросов в Jira
Рецепт поиска запросов в JiraTmrpc
 
Обеспечение эффективного сотрудничества на основе инструментов Microsoft alm
Обеспечение эффективного сотрудничества на основе инструментов Microsoft almОбеспечение эффективного сотрудничества на основе инструментов Microsoft alm
Обеспечение эффективного сотрудничества на основе инструментов Microsoft almАлександр Шамрай
 
Teamlead - Живые шаблоны в Confluence (о плагине Scaffolding)
Teamlead - Живые шаблоны в Confluence (о плагине Scaffolding)Teamlead - Живые шаблоны в Confluence (о плагине Scaffolding)
Teamlead - Живые шаблоны в Confluence (о плагине Scaffolding)Teamlead
 
SMExpert - система автоматизации ITSM-процессов в облаке
SMExpert - система автоматизации ITSM-процессов в облакеSMExpert - система автоматизации ITSM-процессов в облаке
SMExpert - система автоматизации ITSM-процессов в облакеTechExpert
 
Преимущества системы Docsvision (наше видение)
Преимущества системы Docsvision (наше видение)Преимущества системы Docsvision (наше видение)
Преимущества системы Docsvision (наше видение)Mayliyeva Katira
 

What's hot (20)

Requirement Managament System based on Wiki (Confluence+Jira)
Requirement Managament System based on Wiki (Confluence+Jira)Requirement Managament System based on Wiki (Confluence+Jira)
Requirement Managament System based on Wiki (Confluence+Jira)
 
Методология ведения проектов
Методология ведения проектовМетодология ведения проектов
Методология ведения проектов
 
Проектный опыт внедрения Service Desk на примере Альфа Банк Казахстан
Проектный опыт внедрения Service Desk  на примере Альфа Банк КазахстанПроектный опыт внедрения Service Desk  на примере Альфа Банк Казахстан
Проектный опыт внедрения Service Desk на примере Альфа Банк Казахстан
 
инструментальные средства управления проектами
инструментальные средства управления проектамиинструментальные средства управления проектами
инструментальные средства управления проектами
 
Microsoft ALM вопросы лицензирования
Microsoft ALM вопросы лицензированияMicrosoft ALM вопросы лицензирования
Microsoft ALM вопросы лицензирования
 
Обзорная презентация Atlassian GreenHopper
Обзорная презентация Atlassian GreenHopperОбзорная презентация Atlassian GreenHopper
Обзорная презентация Atlassian GreenHopper
 
Корпоративный портал на Confluence в компании Ланта-Тур
Корпоративный портал на Confluence в компании Ланта-ТурКорпоративный портал на Confluence в компании Ланта-Тур
Корпоративный портал на Confluence в компании Ланта-Тур
 
Расширение функционала продуктов Atlassian с помощью плагинов
Расширение функционала продуктов Atlassian с помощью плагиновРасширение функционала продуктов Atlassian с помощью плагинов
Расширение функционала продуктов Atlassian с помощью плагинов
 
Использование Jira Agile как инструмент для контроля гибкой разработкиLaf2015...
Использование Jira Agile как инструмент для контроля гибкой разработкиLaf2015...Использование Jira Agile как инструмент для контроля гибкой разработкиLaf2015...
Использование Jira Agile как инструмент для контроля гибкой разработкиLaf2015...
 
Шаблонизируй это. Как паттерны требований облегчают жизнь аналитика
Шаблонизируй это. Как паттерны требований облегчают жизнь аналитикаШаблонизируй это. Как паттерны требований облегчают жизнь аналитика
Шаблонизируй это. Как паттерны требований облегчают жизнь аналитика
 
Обзор и архитектура MS Visual Studio Team System 2008
Обзор и архитектура MS Visual Studio Team System 2008Обзор и архитектура MS Visual Studio Team System 2008
Обзор и архитектура MS Visual Studio Team System 2008
 
Обзорная презентация Atlassian Confluence
Обзорная презентация Atlassian ConfluenceОбзорная презентация Atlassian Confluence
Обзорная презентация Atlassian Confluence
 
Cовременные подходы организации процессов разработки
Cовременные подходы организации процессов разработкиCовременные подходы организации процессов разработки
Cовременные подходы организации процессов разработки
 
Особенности анализа в проектах по разработке сервисов
Особенности анализа в проектах по разработке сервисовОсобенности анализа в проектах по разработке сервисов
Особенности анализа в проектах по разработке сервисов
 
Е.Зинин и Г.Кудрявцев (Мегаплан) "Мегаплан"
Е.Зинин и Г.Кудрявцев (Мегаплан) "Мегаплан"Е.Зинин и Г.Кудрявцев (Мегаплан) "Мегаплан"
Е.Зинин и Г.Кудрявцев (Мегаплан) "Мегаплан"
 
Рецепт поиска запросов в Jira
Рецепт поиска запросов в JiraРецепт поиска запросов в Jira
Рецепт поиска запросов в Jira
 
Обеспечение эффективного сотрудничества на основе инструментов Microsoft alm
Обеспечение эффективного сотрудничества на основе инструментов Microsoft almОбеспечение эффективного сотрудничества на основе инструментов Microsoft alm
Обеспечение эффективного сотрудничества на основе инструментов Microsoft alm
 
Teamlead - Живые шаблоны в Confluence (о плагине Scaffolding)
Teamlead - Живые шаблоны в Confluence (о плагине Scaffolding)Teamlead - Живые шаблоны в Confluence (о плагине Scaffolding)
Teamlead - Живые шаблоны в Confluence (о плагине Scaffolding)
 
SMExpert - система автоматизации ITSM-процессов в облаке
SMExpert - система автоматизации ITSM-процессов в облакеSMExpert - система автоматизации ITSM-процессов в облаке
SMExpert - система автоматизации ITSM-процессов в облаке
 
Преимущества системы Docsvision (наше видение)
Преимущества системы Docsvision (наше видение)Преимущества системы Docsvision (наше видение)
Преимущества системы Docsvision (наше видение)
 

Viewers also liked

Internet of Tested Things
Internet of Tested ThingsInternet of Tested Things
Internet of Tested ThingsSQALab
 
Автоматизированное тестирование не-тестировщиками
Автоматизированное тестирование не-тестировщикамиАвтоматизированное тестирование не-тестировщиками
Автоматизированное тестирование не-тестировщикамиSQALab
 
Report Portal - эффективность вашей автоматизации
Report Portal - эффективность вашей автоматизацииReport Portal - эффективность вашей автоматизации
Report Portal - эффективность вашей автоматизацииSQALab
 
Аудит команды тестирования в сложном проекте
Аудит команды тестирования в сложном проектеАудит команды тестирования в сложном проекте
Аудит команды тестирования в сложном проектеSQALab
 
Работа с бизнес-требованиями на стадии выхода продукта
Работа с бизнес-требованиями на стадии выхода продуктаРабота с бизнес-требованиями на стадии выхода продукта
Работа с бизнес-требованиями на стадии выхода продуктаSQALab
 
Atlassian jira как полностью раскрыть возможности
Atlassian jira   как полностью раскрыть возможностиAtlassian jira   как полностью раскрыть возможности
Atlassian jira как полностью раскрыть возможностиAndrew Fadeev
 
Тестирование отклика Web-интерфейса с JMeter и Selenium
Тестирование отклика Web-интерфейса с JMeter и SeleniumТестирование отклика Web-интерфейса с JMeter и Selenium
Тестирование отклика Web-интерфейса с JMeter и SeleniumSQALab
 
Data Pools - средство управления тестовыми данными
Data Pools - средство управления тестовыми даннымиData Pools - средство управления тестовыми данными
Data Pools - средство управления тестовыми даннымиSQALab
 
JIRA. С добавками. Для тестировщиков
JIRA. С добавками. Для тестировщиковJIRA. С добавками. Для тестировщиков
JIRA. С добавками. Для тестировщиковSQALab
 

Viewers also liked (9)

Internet of Tested Things
Internet of Tested ThingsInternet of Tested Things
Internet of Tested Things
 
Автоматизированное тестирование не-тестировщиками
Автоматизированное тестирование не-тестировщикамиАвтоматизированное тестирование не-тестировщиками
Автоматизированное тестирование не-тестировщиками
 
Report Portal - эффективность вашей автоматизации
Report Portal - эффективность вашей автоматизацииReport Portal - эффективность вашей автоматизации
Report Portal - эффективность вашей автоматизации
 
Аудит команды тестирования в сложном проекте
Аудит команды тестирования в сложном проектеАудит команды тестирования в сложном проекте
Аудит команды тестирования в сложном проекте
 
Работа с бизнес-требованиями на стадии выхода продукта
Работа с бизнес-требованиями на стадии выхода продуктаРабота с бизнес-требованиями на стадии выхода продукта
Работа с бизнес-требованиями на стадии выхода продукта
 
Atlassian jira как полностью раскрыть возможности
Atlassian jira   как полностью раскрыть возможностиAtlassian jira   как полностью раскрыть возможности
Atlassian jira как полностью раскрыть возможности
 
Тестирование отклика Web-интерфейса с JMeter и Selenium
Тестирование отклика Web-интерфейса с JMeter и SeleniumТестирование отклика Web-интерфейса с JMeter и Selenium
Тестирование отклика Web-интерфейса с JMeter и Selenium
 
Data Pools - средство управления тестовыми данными
Data Pools - средство управления тестовыми даннымиData Pools - средство управления тестовыми данными
Data Pools - средство управления тестовыми данными
 
JIRA. С добавками. Для тестировщиков
JIRA. С добавками. Для тестировщиковJIRA. С добавками. Для тестировщиков
JIRA. С добавками. Для тестировщиков
 

Similar to Миграция JIRA - безобразие или безрассудство

Dev & test на windows azure
Dev & test на windows azureDev & test на windows azure
Dev & test на windows azureMicrosoft
 
SuperNovo: примеры размещения 1С
SuperNovo: примеры размещения 1СSuperNovo: примеры размещения 1С
SuperNovo: примеры размещения 1СSuperNovo
 
Tfs Overview And Architecture (www.cmcons.com)
Tfs Overview And Architecture (www.cmcons.com)Tfs Overview And Architecture (www.cmcons.com)
Tfs Overview And Architecture (www.cmcons.com)Alexander Novichkov
 
Сквозное управление доступом - от пользователя и дальше
Сквозное управление доступом - от пользователя и дальшеСквозное управление доступом - от пользователя и дальше
Сквозное управление доступом - от пользователя и дальшеCisco Russia
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Ontico
 
6 кареев киров
6 кареев киров6 кареев киров
6 кареев кировqasib
 
Jiramania презентации @augspb
Jiramania презентации   @augspbJiramania презентации   @augspb
Jiramania презентации @augspbGonchik Tsymzhitov
 
So Your WAF Needs a Parser
So Your WAF Needs a ParserSo Your WAF Needs a Parser
So Your WAF Needs a Parseryalegko
 
владивосток форум производительность_ha
владивосток форум производительность_haвладивосток форум производительность_ha
владивосток форум производительность_haElena Ometova
 
Введение в performance management
Введение в performance managementВведение в performance management
Введение в performance managementSQALab
 
Стабильны ли ваши приложения в облаках?
Стабильны ли ваши приложения в облаках?Стабильны ли ваши приложения в облаках?
Стабильны ли ваши приложения в облаках?Yandex
 
Использование Open Source инструментов для автоматизации тестирования
Использование Open Source инструментов для автоматизации тестированияИспользование Open Source инструментов для автоматизации тестирования
Использование Open Source инструментов для автоматизации тестированияSQALab
 
Vladimir Trandafilov - When you need your system of cross browser testing
Vladimir Trandafilov - When you need your system of cross browser testingVladimir Trandafilov - When you need your system of cross browser testing
Vladimir Trandafilov - When you need your system of cross browser testingIevgenii Katsan
 
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаIT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаMikhail Chinkov
 
Разработка безопасных веб приложений
Разработка безопасных веб приложенийРазработка безопасных веб приложений
Разработка безопасных веб приложенийAndrey Beshkov
 
Open Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesOpen Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesAliaksandr Ikhelis
 
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовРеализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовSQALab
 
Трудовые будни инженера производительности
Трудовые будни инженера производительностиТрудовые будни инженера производительности
Трудовые будни инженера производительностиVladimir Sitnikov
 

Similar to Миграция JIRA - безобразие или безрассудство (20)

Dev & test на windows azure
Dev & test на windows azureDev & test на windows azure
Dev & test на windows azure
 
SuperNovo: примеры размещения 1С
SuperNovo: примеры размещения 1СSuperNovo: примеры размещения 1С
SuperNovo: примеры размещения 1С
 
Tfs Overview And Architecture (www.cmcons.com)
Tfs Overview And Architecture (www.cmcons.com)Tfs Overview And Architecture (www.cmcons.com)
Tfs Overview And Architecture (www.cmcons.com)
 
Сквозное управление доступом - от пользователя и дальше
Сквозное управление доступом - от пользователя и дальшеСквозное управление доступом - от пользователя и дальше
Сквозное управление доступом - от пользователя и дальше
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
 
6 кареев киров
6 кареев киров6 кареев киров
6 кареев киров
 
Jiramania презентации @augspb
Jiramania презентации   @augspbJiramania презентации   @augspb
Jiramania презентации @augspb
 
Simonova sql server-enginetesting
Simonova sql server-enginetestingSimonova sql server-enginetesting
Simonova sql server-enginetesting
 
So Your WAF Needs a Parser
So Your WAF Needs a ParserSo Your WAF Needs a Parser
So Your WAF Needs a Parser
 
владивосток форум производительность_ha
владивосток форум производительность_haвладивосток форум производительность_ha
владивосток форум производительность_ha
 
Введение в performance management
Введение в performance managementВведение в performance management
Введение в performance management
 
Стабильны ли ваши приложения в облаках?
Стабильны ли ваши приложения в облаках?Стабильны ли ваши приложения в облаках?
Стабильны ли ваши приложения в облаках?
 
Использование Open Source инструментов для автоматизации тестирования
Использование Open Source инструментов для автоматизации тестированияИспользование Open Source инструментов для автоматизации тестирования
Использование Open Source инструментов для автоматизации тестирования
 
Automation Compliance Checks
Automation Compliance ChecksAutomation Compliance Checks
Automation Compliance Checks
 
Vladimir Trandafilov - When you need your system of cross browser testing
Vladimir Trandafilov - When you need your system of cross browser testingVladimir Trandafilov - When you need your system of cross browser testing
Vladimir Trandafilov - When you need your system of cross browser testing
 
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаIT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчика
 
Разработка безопасных веб приложений
Разработка безопасных веб приложенийРазработка безопасных веб приложений
Разработка безопасных веб приложений
 
Open Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesOpen Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practices
 
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовРеализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
 
Трудовые будни инженера производительности
Трудовые будни инженера производительностиТрудовые будни инженера производительности
Трудовые будни инженера производительности
 

More from SQALab

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировкуSQALab
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаSQALab
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиSQALab
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияSQALab
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...SQALab
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testingSQALab
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженSQALab
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииSQALab
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовSQALab
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовSQALab
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsSQALab
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеSQALab
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииSQALab
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеSQALab
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестированиеSQALab
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"SQALab
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовSQALab
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных системSQALab
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросSQALab
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...SQALab
 

More from SQALab (20)

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировку
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщика
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержки
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testing
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестирование
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
 

Миграция JIRA - безобразие или безрассудство

  • 1. Миграция JIRA – безобразие или безрассудство? Никита Налютин Experian Decision Analytics
  • 2. Пару слов о себе 1996-2002 разработчик 1999 получил Excellence in Computer Science Award 2002 пришел в тестирование 2002-2015 самолеты-трейдинг- видео-банки… 2007 книга «Верификация ПО», издана при поддержке 2008 кандидат технических наук 2012- Тест-менеджер Выступаю на SQA Days 2009-2015
  • 3. Пару слов о себе 1996-2002 разработчик 1999 получил Excellence in Computer Science Award 2002 пришел в тестирование 2002-2015 самолеты-трейдинг- видео-банки… 2007 книга «Верификация ПО», издана при поддержке 2008 кандидат технических наук 2012- Тест-менеджер Выступаю на SQA Days 2009-2014 с бородой 2015- без бороды
  • 5. О чем будем говорить • Миграция JIRA в крупной компании • Какие процессы не видны с самого начала • Какие подразделения вовлечены в процесс • Как поковыряться во внутренностях JIRA
  • 6. Как понять, что уже пора? • Количество сбоев JIRA слишком велико • Поддержка JIRA внешним вендором дороже поддержки своими силами • Нет возможности установить в JIRA нужные расширения • Настройки JIRA не соответствуют внутреним политикам безопасности
  • 7. Процесс в маленькой компании го джира, я создал
  • 8. Процесс в средней компании 1 2 3 JIRA админ Финансы Закупки Железо и софт Пользователи
  • 9. Энтерпрайз: бессмысленный и беспощадный 1 2 3 4 5 6 7 8 9 10 11 12 JIRA админ PM Принятие решений Финансы Закупки Железо Софт Аутентификация Файерволлы Пентест Вендор Пользователи
  • 10. Кто на самом деле вовлечен в процесс миграции? • Администратор JIRA • Лица, принимающие решения • Финансовый департамент • Отдел закупок • ИТ-департамент – железо – софт • Отдел ИБ – сетевые экраны – аутентификация – пентест • Предыдущий вендор
  • 11. Медленно и печально завершаем отношения с вендором • Предупреждаем о завершении отношений только когда сами понимаем, что готовы • Собираем все неоплаченные счета • Определяем самую дешевую дату для переноса • Определяем процедуру передачи данных • Договариваемся о времени реакции
  • 12. Планирование внутренней инфраструктуры: CAPEX H/W CAPEX S/W CAPEX Назначение Тип Цена сервера Цена диска Цена JIRA Цена СУБД Цена ОС Прод Физ $$$$ $$$ $$$$ - $$ Тест VM $ $ $ - $$ Бэкап Физ $$ $$$$ - - - Existing Server(s)? No Existing Hardware? Yes Location Datacenter Server type Dev VMware CPUs 1 Cores per CPU 4 Memory 8GB Operating system Windows 2008 R2 std 64-bit Drive Size Tier Existing HW?Backup? C: 40GB 1 (no mirror) No Yes D: Data 25GB 1 (no mirror) No Yes E: 28GB 1 (no mirror) No Yes Users User 1 Monitoring None Patching Contact User 2
  • 13. Планирование внутренней инфраструктуры: OPEX Активности Управление проектом Технический консалтинг Технические спецификации Планирование аппаратного обеспечения Планирование хранения Администрирование БД Мониторинг сервисов Резервное копирование Мониторинг безопасности Тест на проникновение Все это – минимум на год вперед
  • 14. Планирование внутренней инфраструктуры: сеть и фаерволлы MAIL RELAY TCP 25 SVN VLAN JIRA UAT uat-jira.internal JIRA Prod prod-jira.internal Internet Jira update Service TCP 25 TCP 3690 Offices 10.0.0.0/8 TCP21,80,443, 3690 3389 atlassian .com 131.103.28.5 131.103.28.7 131.103.28.11
  • 15. Внешняя аутентификация • Защита от проникновения • Соответствие корпоративным стандартам • Централизованное управление доступом • Необходимость в интеграции с внешним сервисом • Нужно четко прописывать процесс управления аккаунтами • Добавление пользователя может быть длительным • Процедура входа в систему может стать неудобной
  • 16. Препарируем Seraph import javax.servlet.http.HttpServletRequest; import com.atlassian.seraph.filter.PasswordBasedLoginFilter; public class SSOFilter extends PasswordBasedLoginFilter { private static final String httpHeaderName_userId = “remote-user"; @Override protected UserPasswordPair extractUserPasswordPair( HttpServletRequest request) { String username = request.getHeader(httpHeaderName_userId); if (username != null && username.trim().length() != 0) { return new PasswordBasedLoginFilter.UserPasswordPair( username, "DUMMY", false); } return null; } }
  • 17. Препарируем Seraph import java.security.Principal; import com.atlassian.seraph.auth.*; import com.atlassian.crowd.embedded.api.CrowdService; import com.atlassian.jira.component.ComponentAccessor; public class SSOAuthenticator extends DefaultAuthenticator { private static final long serialVersionUID = 1L; protected boolean authenticate(Principal user, String password) throws AuthenticatorException { return true; } protected Principal getUser(String username) { return getCrowdService().getUser(username); } private CrowdService getCrowdService() { return (CrowdService)ComponentAccessor.getComponent(CrowdService.class); } }
  • 18. Выкидываем родной ввод пароля seraph-config.xml: <authenticator class="com.company.jira.SSOAuthenticator"/> web.xml: <filter> <filter-name>login</filter-name> <filter-class>com.company.jira.SSOFilter</filter-class> </filter> jpm.xml: Убираем login gadget jira-config.properties: jira.websudo.is.disabled = true
  • 19. Перенос настроек проектов • Переносим все проекты • Удаляем их, оставляем только настройки • Делаем бэкап • Для каждого нового проекта создаем его с нуля • Создаем такие же настройки как в старой системе: workflow, roles, screens, … • Переносим проекты по одному
  • 20. Файлы экспорта под микроскопом Версия JIRA <OSPropertyString id="10037" value="6338"/> Ненужные записи журнала аудита <data tableName="AO_78C957_AUDITEVENTS"> <data tableName="AO_78C957_AUDITHINT"> <data tableName="AO_78C957_NOTIFICATION_HIST"> Версии плагинов <PluginVersion id="10966" name="User Group Picker" key="com.keplerrominfo.jira.plugins.usergrouppicker" version="2.6.4-J631" created="2014-10-31 15:13:52.0"/> <SequenceValueItem seqName="PluginVersion" seqId="10970"/> Селекторы пользователей <CustomField id="10011" customfieldtypekey="com.iamhuy.jira.plugin.issue- alternative-assignee:userselectbox-customfield" customfieldsearcherkey="com.iamhuy.jira.plugin.issue-alternative- assignee:userpickerprojectrolesearcher" name="Internal contact"/>
  • 21. Поэтапный перенос проектов Сервер Жив? Клиент? Данные есть? Обновлен Миграция Проект Руководитель P U да да запрошены 10.05.15 15.05.15 BEEF J. Doe P нет да 30.04.15 25.04.15 02.05.15 CODE V. Pupkin P да нет 01.05.15 30.04.15 asap COOL H. Grant P нет нет 01.02.15 30.12.14 late DEAD V. Lenin • Учим пользователей заранее • Согласовываем дату переноса • Объединяем проекты в волны • Следим за изменениями на старом сервере • Спокойно относимся к переносам сроков • Отслеживаем целостность данных • Не забываем оповещать о переходе
  • 22. Как убедиться, что все хорошо • Не тестировать на production • Делать повторный экспорт • Сравнивать XML • Сравнивать базы • Проверять вручную самому • Давать проверять пользователям
  • 23. Полезные ссылки • https://confluence.atlassian.com/display/JIRA064/Upgrading+JIRA • https://confluence.atlassian.com/display/JIRA044/Advanced+JIRA+Configuration • https://answers.atlassian.com/questions/296109/disable-jira-login-page-with-seraph-sso • http://stackoverflow.com/questions/16273566/jira-5-2-seraph-sso-login-behind-reverse-proxy
  • 24. Вопросы? Я все еще Никита Налютин Задать вопросы можно - здесь (навыки поиска не нужны) - в соцсетях (умение искать пригодится)