Регистрация  |  Вход

Ваши истории успеха с CI на Force.com

Расскажите почему вы используете/не используете CI на Force.com?
Очень интересно услышать истории успеха и увидеть примеры настройки.

Расскажите почему вы используете/не используете CI на Force.com?
Очень интересно услышать истории успеха и увидеть примеры настройки.

CTI?

CTI?

cidr8n
CTI?

ЧТО?
CI == Continuous Integration
http://en.wikipedia.org/wiki/Continuous_integration

[quote="cidr8n"]CTI?[/quote]
ЧТО?
CI == Continuous Integration
http://en.wikipedia.org/wiki/Continuous_integration

Gres
cidr8n
CTI?

ЧТО?
CI == Continuous Integration
http://en.wikipedia.org/wiki/Continuous_integration

Сорри, в реалиях форса чаще сталкиваешься именно с "интегрируйте меня с CTI!!!111@"


Работать именно по канонам CI приходилось редко, по-хорошему, это возможно только при использовании Unlimited Edition с большим количеством песочниц. Каждый разработчик должен иметь свою отдельную песочницу, тогда трекать чейнджи можно будет через github, одна общая песочница будет центральным репозиторием.
Песочницы разработчиков обновляются сразу после деплоя очередных наработок в "общую" песочницу или продуктив.

Тут вроде бы все просто и прозрачно, пока не сталкиваешься с реалиями форса в виде "накликанных" администратором настроек - полей/рулов/воркфлоу. Гит это трекать не будет, придется либо все эти изменения трекать в общем файле и потом переносить руками, либо использовать спец. софтины, которые умеют трекать чейнджи настроек форса.

[quote="Gres"][quote="cidr8n"]CTI?[/quote]
ЧТО?
CI == Continuous Integration
http://en.wikipedia.org/wiki/Continuous_integration[/quote]

Сорри, в реалиях форса чаще сталкиваешься именно с "интегрируйте меня с CTI!!!111@"


Работать именно по канонам CI приходилось редко, по-хорошему, это возможно только при использовании Unlimited Edition с большим количеством песочниц. Каждый разработчик должен иметь свою отдельную песочницу, тогда трекать чейнджи можно будет через github, одна общая песочница будет центральным репозиторием. 
Песочницы разработчиков обновляются сразу после деплоя очередных наработок в "общую" песочницу или продуктив. 

Тут вроде бы все просто и прозрачно, пока не сталкиваешься с реалиями форса в виде "накликанных" администратором настроек - полей/рулов/воркфлоу. Гит это трекать не будет, придется либо все эти изменения трекать в общем файле и потом переносить руками, либо использовать спец. софтины, которые умеют трекать чейнджи настроек форса. 

Уффф.....начну.

Есть мутный и очень большой проект для банка. Используется порядка 16 сандбоксов.

Есть порядка 4-х дев сендбоксов на которых происходит разработка. Есть еще порядка 4-х дев QA сандбоксов.

Есть CI санбдокс.

1. Девелоперы делают коммиты в bitbucket.
2. В bitbucket поднят сервер Bamboo. Этот сервер в зависимости от настроек делает деплой на выбранные орги или после каждого коммита или раз в день.
3. Логи после каждого деплоя приходят нужному юзеру.

На сегодняшний момент процесс коммита разделен на 2 шага.
1. Девелоперы делают коммит с бранч связанный с определенной User Story и делают Pull Request
2. Ответственный за деплой или принимает или отклоняет коммит в основную ветку
3. Если коммит принят делается мердж и после этого уже запускается Bamboo

Ясное дело что вся метадата с CI sandbox собирается и делается пакет для дальнейшего поднятия на QA

Ну если в краце то это все.

P/S/ Но тут всегда возникает проблема, потому что девелоперы постоянно забывают коммитить что-нибудь. Написана утилита которая трекает изменения всего орга и выдает список изменений, но в виду того что форс не позволяет нормально работать с Zip архивами, работа пока приостановилась. Так же утилита позволяет взять не только последние изменения, а изменения после определенного чекпоинта.

Уффф.....начну.

Есть мутный и очень большой проект для банка. Используется порядка 16 сандбоксов.

Есть порядка 4-х дев сендбоксов на которых происходит разработка. Есть еще порядка 4-х дев QA сандбоксов.

Есть CI санбдокс.

1. Девелоперы делают коммиты в bitbucket.
2. В bitbucket поднят сервер Bamboo. Этот сервер в зависимости от настроек делает деплой на выбранные орги или после каждого коммита или раз в день. 
3. Логи после каждого деплоя приходят нужному юзеру.

На сегодняшний момент процесс коммита разделен на 2 шага.
1. Девелоперы делают коммит с бранч связанный с определенной User Story и делают Pull Request
2. Ответственный за деплой или принимает или отклоняет коммит в основную ветку
3. Если коммит принят делается мердж и после этого уже запускается Bamboo

Ясное дело что вся метадата с CI sandbox собирается и делается пакет для дальнейшего поднятия на QA

Ну если в краце то это все.

P/S/ Но тут всегда возникает проблема, потому что девелоперы постоянно забывают коммитить что-нибудь. Написана утилита которая трекает изменения всего орга и выдает список изменений, но в виду того что форс не позволяет нормально работать с Zip архивами, работа пока приостановилась. Так же утилита позволяет взять не только последние изменения, а изменения после определенного чекпоинта.

cidr8n
Гит это трекать не будет, придется либо все эти изменения трекать в общем файле и потом переносить руками, либо использовать спец. софтины, которые умеют трекать чейнджи настроек форса.

Все же хранится, как метаданные или я не прав?
Объекты, поля у нас прекрасно получается трекать.

[quote="cidr8n"]Гит это трекать не будет, придется либо все эти изменения трекать в общем файле и потом переносить руками, либо использовать спец. софтины, которые умеют трекать чейнджи настроек форса.[/quote]
Все же хранится, как метаданные или я не прав?
Объекты, поля у нас прекрасно получается трекать.

кстати, кто-нибудь разворачивал http://developer.force.com/codeshare/projectpage?id=a063000000GbqBaAAJ ?

кстати, кто-нибудь разворачивал http://developer.force.com/codeshare/projectpage?id=a063000000GbqBaAAJ ?

Кст, никто не пробовал писать утилиты для кастомной заливки метаданный на инстансы, используя C#/Java API?
Просто у меня не получилось заставить Migration Tools деплоить отдельные файлики.
Может кто подскажет?

Кст, никто не пробовал писать утилиты для кастомной заливки метаданный на инстансы, используя C#/Java API?
Просто у меня не получилось заставить Migration Tools деплоить отдельные файлики.
Может кто подскажет?

Gres
cidr8n
Гит это трекать не будет, придется либо все эти изменения трекать в общем файле и потом переносить руками, либо использовать спец. софтины, которые умеют трекать чейнджи настроек форса.

Все же хранится, как метаданные или я не прав?
Объекты, поля у нас прекрасно получается трекать.

Нет, тут ты прав, в метадате все есть, но тут больше вступают организационные сложности. Во многих проектах считается нормальным добавление полей/правил прямо в прод. Это уже не проблемы платформы

[quote="Gres"][quote="cidr8n"]Гит это трекать не будет, придется либо все эти изменения трекать в общем файле и потом переносить руками, либо использовать спец. софтины, которые умеют трекать чейнджи настроек форса.[/quote]
Все же хранится, как метаданные или я не прав?
Объекты, поля у нас прекрасно получается трекать.[/quote]

Нет, тут ты прав, в метадате все есть, но тут больше вступают организационные сложности. Во многих проектах считается нормальным добавление полей/правил прямо в прод. Это уже не проблемы платформы :)

Gres
Кст, никто не пробовал писать утилиты для кастомной заливки метаданный на инстансы, используя C#/Java API?
Просто у меня не получилось заставить Migration Tools деплоить отдельные файлики.
Может кто подскажет?

Делал, причем на Апексе. Что конкретно тебя интересует ?

[quote="Gres"]Кст, никто не пробовал писать утилиты для кастомной заливки метаданный на инстансы, используя C#/Java API?
Просто у меня не получилось заставить Migration Tools деплоить отдельные файлики.
Может кто подскажет?[/quote]

Делал, причем на Апексе. Что конкретно тебя интересует ?

У нас все метаданные для полей/правил хранились в отдельной ветке и переодически обновлялось с сервера для отслеживания изменений.

У нас все метаданные для полей/правил хранились в отдельной ветке и переодически обновлялось с сервера для отслеживания изменений.

wilder
Делал, причем на Апексе. Что конкретно тебя интересует ?

Я имею ввиду заливку *.cls, *.trigger, *.page на инстанс по какому то критерию (коммиту)
Просто хотелось бы воспользоваться готовой утилиткой, если она у кого-то есть.

[quote="wilder"]Делал, причем на Апексе. Что конкретно тебя интересует ?[/quote]
Я имею ввиду заливку *.cls, *.trigger, *.page на инстанс по какому то критерию (коммиту)
Просто хотелось бы воспользоваться готовой утилиткой, если она у кого-то есть.

Готовой утилитки нет Я для этого использую свой пакет.

Готовой утилитки нет :( Я для этого использую свой пакет.

wilder
Готовой утилитки нет Я для этого использую свой пакет.

А в Apex есть API для деплоя? Кинь ссылочкой!

[quote="wilder"]Готовой утилитки нет :( Я для этого использую свой пакет.[/quote]
А в Apex есть API для деплоя? Кинь ссылочкой!

а как по твоему работает эклипс

Зайди на орг. Кликни на Setup. В строке поиска вбей API. И выбери что твоей душе угодно. Я обычно беру Partner WSDL.

а как по твоему работает эклипс :)

Зайди на орг. Кликни на Setup. В строке поиска вбей API. И выбери что твоей душе угодно. Я обычно беру Partner WSDL.

wilder
а как по твоему работает эклипс

Metadata API, Tooling API =)

[quote="wilder"]а как по твоему работает эклипс[/quote]
Metadata API, Tooling API =)

Gres
wilder
а как по твоему работает эклипс

Java API, Tooling API =)

[quote="Gres"][quote="wilder"]а как по твоему работает эклипс[/quote]
Java API, Tooling API =)[/quote]

Gres
wilder
а как по твоему работает эклипс

Tooling API =)

Если я правильно помню, то нифига не тулинг...:)

[quote="Gres"][quote="wilder"]а как по твоему работает эклипс[/quote]
Tooling API =)[/quote]

Если я правильно помню, то нифига не тулинг...:)

wilder
Gres
wilder
а как по твоему работает эклипс

Tooling API =)

Если я правильно помню, то нифига не тулинг...:)

Ну, они на него почти переехали http://salesforce.stackexchange.com/questions/45569/new-force-com-ide-eclipse-for-summer-14-issues-with-tooling-api-and-accentua

[quote="wilder"][quote="Gres"][quote="wilder"]а как по твоему работает эклипс[/quote]
Tooling API =)[/quote]

Если я правильно помню, то нифига не тулинг...:)[/quote]

Ну, они на него почти переехали :)
http://salesforce.stackexchange.com/questions/45569/new-force-com-ide-eclipse-for-summer-14-issues-with-tooling-api-and-accentua

Ну а раньше, да, юзали и пока еще юзают Metadata API

Ну а раньше, да, юзали и пока еще юзают Metadata API

Вот интересным видео поделились
Copado - Continuous Integration for Salesforce
https://www.youtube.com/watch?v=UdpVTPYiF2o

Вот интересным видео поделились
[b]Copado - Continuous Integration for Salesforce[/b]
https://www.youtube.com/watch?v=UdpVTPYiF2o