Как вы деплоите в прод?

Как вы деплоите в прод?

Как вы деплоите в прод?

Деплоить в прод непосредственно чендж сетами уже как-то не модно, нужно все делать по CI/CD и DevOps, даже если ты не очень то понимаешь что эти слова значат.

Вот например есть Flossum, a third-party SF-based Deployment management system with version control. Она делает именно то, как и чем она называется - управляет процессом деплоя. Главный сисадмин, или архитект, или даже менеджер проекта, может кликнуть на кнопку и вытянуть все "обновки" с Препрода, затем кликнуть на другую кнопку - и все это сохранилось в Flossum version control, и кликнул еще - все ушло в Прод.

сегодня есть Saleforce DX и все что с ним связано, но как непосредственно происходит деплой?

с локальной машины кто-то деплоит Продовую ветку (в виде Пакета например) на Прод? не назовешь это Deployment management system, и человек для этого нужен понимающий, это не просто на кнопки кликать...

Есть еще Copado...

Den Brown
Как вы деплоите в прод?

Jenkins    
Но обычно вопрос не только чем но и что

На больших проектах (Enterprise) это тема обычно болезненная и сложная и берёт время выбрать, решить, настроить, обучить.
Решить какой Branch Strategy (например Feature Branch -> Dev 1-n -> Release 1-n -> Master),
какие продукты использовать - то что уже есть или докупать
так как почти всегда есть несколько команд, каждая работает над своим модулем (Lead Management,  Sales, Service, ...) и в Production должны попасть в разное время (в зависимости от Release)
...

Eric
Jenkins 

как это физически работает?

Jenkins в виде онлайн сервиса (или с твоего сервера, или с локальной машины?) по расписанию или "кликнув на кнопку" подключается к репо на гитхабе и деплоит на СФ орг?

Лучше всего деплоить на прод в виде managed package. Даже если это кастомизация. Так очень большой шанс что на проде никто без вашего ветода ничего не сломает.
А если unmanaged code то лучше чтобы это делал какой-нибудь deployment master (крайне отвественный человек).
Jenkins хорошо, но он хорош для автоматизации деплоя на всякие DEV/UAT сандбоксы. Подключать прод к автоматизарованному деплою опасно. Не всегда деплой заходит хорошо. Иногда могут случаться косяки или требуются дополнительные шаги после деплоя. Конечно все это лучше оттестировать и настроить заранее в виде пост деплой скриптов. Но все равно деплой на прод штука отвественная и должна проходить вручную под контролем ответственного.

Deploy в Прод - это всегда должно быть вручную, без автоматизации и для запланированного деплоя и для hot fix.
Иногда такое же происходит и в QA
особенно если есть pre/post deployment steps (скрипты или manual steps)

Dmitry Shnyrev
Не всегда деплой заходит хорошо.
Эххх мозоль мозоль...

Обычно этим занимаются люди которые релизят пакеты

А кастомный код я последний раз деплоил только ручками через ченж сеты(Хотя это та еще боль).

New Salesforce Apex CircleCI Orb

micha_s
New Salesforce Apex CircleCI Orb

Что-то один в один как Bitbucket Pipelines помоему
UPD: хотя нет, в bitbucket pipelines нету возможности создавать новые орги(ну прям oob)

Не совсем понимаю я облачные решения по CI - смотрел несколько таких, все удобные, неплохие, но...очень дорогие с оплатой за каждый чих и оплата достаточно дорогая - в год на маленьком проекте под несколько тысяч долларов в год.
ИМХО в десятки раз дешевле поднять Jenkins в докере, настроить его там и не платить за то, что передеплоиваешь билд, потому что забыл ";" поставить или случайно забыл -meta файл закинуть. В довесок получаешь неограниченное количество бесплатных юзеров, отсутствие проблем со scalability и отсутствие platform-based проблем(например, одна из платформ не умела запускать валидацию PR с гитхаба).

EvAzi
Не совсем понимаю я облачные решения по CI - смотрел несколько таких, все удобные, неплохие, но...очень дорогие с оплатой за каждый чих и оплата достаточно дорогая - в год на маленьком проекте под несколько тысяч долларов в год.
ИМХО в десятки раз дешевле поднять Jenkins в докере, настроить его там и не платить за то, что передеплоиваешь билд, потому что забыл ";" поставить или случайно забыл -meta файл закинуть. В довесок получаешь неограниченное количество бесплатных юзеров, отсутствие проблем со scalability и отсутствие platform-based проблем(например, одна из платформ не умела запускать валидацию PR с гитхаба).

это потому что ты смотришь на это со стороны жадного пользователя

а те кто эти предложения делает смотрят со стороны жадной компании

EvAzi
Jenkins в докере, настроить

И на сервере развернуть.
Это мы дешевые рабы все можем делать сами чтобы сэкономить.
А в той же америкосии чел которые этим будет заниматься будет стоить 10к в месяц и при этом не разово чтобы поднять и настроить, а чтобы еще каждый месяц поддерживать. Вот и ХЗ что дешевле.

Вот к примеру, я могу поднять достаточно серьезный сервис на Heroku бесплатно, или на VPS от DO за 10$ в месяц вообще ракету в космос запустить. НО знаю проекты которые на инфраструктуру тратят десятки тысяч баксов в месяц просто потому что не могу сделать нормально

Сам поставь себя на место разработчика похожих облачных коробочных решений. Будешь ли ты пилить и поддерживать похожий продукт за бесплатно? Ну по началу может и будешь, пока первый клиент не появится, а потом начнет жаба душить, что твое время минимум не окупается.

А еще есть такой один психологический фактор - цена продукта косвенно говорит (но не означает) что продукт крутой. Так и серьезные компании готовы платить дорого чтобы быть уверенными что все будет гуд.

Interesting information? Help us, post link to social media..