|
Подраздув за CI/CD
|
|||
---|---|---|---|
#18+
Здравствуйте. Методология хайповая. На этой волне в компании начали рассматривать варианты полного перехода на феншуй от CI/CD. Я только начал изучать материал и столкнулся сразу с несколькими противоречиями. Поясню: С одной стороны пишут, что в CI/CD необходимо по максимуму автоматизировать все процессы от стадии коммита в репозиторий до стадии доставки продукта до заказчика. Как я понимаю, тестирование - это одна из неотъемлемых частей CI/CD?! Так вот пишут в интернетах, что тестирование может быть и ручным! т.е. я понимаю, что покрыв Unit-тестами какой то важный модуль/модули можно добиться автоматизации - тест прошел - двигаемся дальше, не прошел - допиливаем код. А как быть если Unit-тесты отработали на ок, и нужно тестировать весь продукт полностью. Предположим даём нагрузку - и в результате, что-то падает. Т.е. такой продукт/модуль продукта уже нельзя доставлять заказчику!? А если CI/CD проповедует полную автоматизацию, то как автоматизировать результаты нагрузочного тестирования? Ведь человек принимает решение - выкатывать апдейт клиенту или не выкатывать?! Возможно я что-то не так понял, но моё представление о CI/CD - это один раз хорошенько помучиться, а потом (очень утрированно) один коммит - одно исправление у клиента(заказчика)? Разве не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2020, 12:50 |
|
Подраздув за CI/CD
|
|||
---|---|---|---|
#18+
MAULER А как быть если Unit-тесты отработали на ок, и нужно тестировать весь продукт полностью. Предположим даём нагрузку - и в результате, что-то падает. Т.е. такой продукт/модуль продукта уже нельзя доставлять заказчику!? А если CI/CD проповедует полную автоматизацию, то как автоматизировать результаты нагрузочного тестирования? Ведь человек принимает решение - выкатывать апдейт клиенту или не выкатывать?! Максимальная автоматизация и полная- это разные вещи. Суть правильного подхода к разработке- сделать так, чтобы ошибки людей (а они всегда ошибаются) создавали меньше проблем. Если вместо 20 ручных шагов будет получение утром отчёта о нагрузочном тестировании и одна кнопка "этот релиз заказчикам" - то вероятность ошибиться намного меньше. Совсем избавится от решения человеком- не всегда нужно и возможно. Случаи они разные бывают. Например создали локализацию сайта для японского языка, а местный работник и спрашивает "а зачем вы готический шрифт для иероглифов использовали?". Все разработчики и дизайнер были в шоке- для всех иероглифы это просто непонятная россыпь штрихов. MAULER Возможно я что-то не так понял, но моё представление о CI/CD - это один раз хорошенько помучиться, а потом (очень утрированно) один коммит - одно исправление у клиента(заказчика)? Разве не так? Зависит от рабочего цикла. Не всегда надо каждый коммит заказчику. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2020, 14:14 |
|
Подраздув за CI/CD
|
|||
---|---|---|---|
#18+
Alexey Tomin, Алексей, спасибо за ответ, если не возражаете, хочу продолжить дискуссию. Накопилось много вопросов, и не на все есть внятные пояснения. Один из таких вопросов: Без каких "компонент" внедрение CI/CD невозможно? Правильно ли что должны быть обязательно: -Система версионного контроля -Build-сервер -Этап тестирования -Анализатор кода -Хранилище артефактов -Контейнеризация -Система управления контейнерами -Мониторинг ? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2020, 14:40 |
|
Подраздув за CI/CD
|
|||
---|---|---|---|
#18+
Мы этот "хайповый" CI использовали еще году в 2008-2009 (CruiseControl, ныне уже, кажется, покойный). ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2020, 15:25 |
|
Подраздув за CI/CD
|
|||
---|---|---|---|
#18+
MAULER Один из таких вопросов: Без каких "компонент" внедрение CI/CD невозможно? Правильно ли что должны быть обязательно: -Система версионного контроля -Build-сервер Это обязательно MAULER -Этап тестирования Без автотестов в принципе можно, "если Вас не интересует результат" MAULER -Анализатор кода Чем хуже язык программирования, тем нужнее анализатор кода. MAULER -Хранилище артефактов В теории можно без, но это сильно замедлит всё. MAULER -Контейнеризация -Система управления контейнерами[/quote] Не обязательно. puppet+aptly вполне работают. Хотя докер удобнее. MAULER -Мониторинг Это не про CI/CD, но очень нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2020, 16:06 |
|
Подраздув за CI/CD
|
|||
---|---|---|---|
#18+
MAULER С одной стороны пишут, что в CI/CD необходимо по максимуму автоматизировать все процессы от стадии коммита в репозиторий до стадии доставки продукта до заказчика. Как я понимаю, тестирование - это одна из неотъемлемых частей CI/CD?! Так вот пишут в интернетах, что тестирование может быть и ручным ! т.е. я понимаю, что покрыв Unit-тестами какой то важный модуль/модули можно добиться автоматизации - тест прошел - двигаемся дальше, не прошел - допиливаем код. Вы не путайте юнит-тесты, авто-тесты и QA. QA, никак не относится к CI/CD. MAULER А как быть если Unit-тесты отработали на ок, и нужно тестировать весь продукт полностью. Предположим даём нагрузку - и в результате, что-то падает. Т.е. такой продукт/модуль продукта уже нельзя доставлять заказчику!? А если CI/CD проповедует полную автоматизацию, то как автоматизировать результаты нагрузочного тестирования? Ведь человек принимает решение - выкатывать апдейт клиенту или не выкатывать?! Решение выкатывать или не выкатывать даёт QA. Все автоматизированные тесты в CI/CD дают лишь набор определённых и конкретных гарантий, что ничего не навернулось после доработок/рефакторинга. Чем больше проблем будет выявлено до QA, тем быстрее они будут исправлены, быстрее продукт достигнет конечной цели и дешевле. MAULER Возможно я что-то не так понял, но моё представление о CI/CD - это один раз хорошенько помучиться, а потом (очень утрированно) один коммит - одно исправление у клиента(заказчика)? Разве не так? Вы смешивайте "не так понял" и "сам себе нафантазировал". ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2020, 23:13 |
|
Подраздув за CI/CD
|
|||
---|---|---|---|
#18+
MAULER Правильно ли что должны быть обязательно: -Система версионного контроля -Build-сервер -Этап тестирования -Анализатор кода -Хранилище артефактов -Контейнеризация -Система управления контейнерами -Мониторинг ? Разрешите поинтересоваться, что вы читали по теме? Где вы раздобыли вот этот список и нарекли обязательным? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2020, 23:15 |
|
Подраздув за CI/CD
|
|||
---|---|---|---|
#18+
fkthat Мы этот "хайповый" CI использовали еще году в 2008-2009 (CruiseControl, ныне уже, кажется, покойный). Россия страна большая. Технологии внедряются десятилетиями. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2020, 07:20 |
|
Подраздув за CI/CD
|
|||
---|---|---|---|
#18+
MAULER На этой волне в компании начали рассматривать варианты полного перехода на феншуй от CI/CD. А посмотрите Azure DevOps, имхо там есть всё, что вам нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2020, 07:21 |
|
Подраздув за CI/CD
|
|||
---|---|---|---|
#18+
hVostt MAULER Правильно ли что должны быть обязательно: -Система версионного контроля -Build-сервер -Этап тестирования -Анализатор кода -Хранилище артефактов -Контейнеризация -Система управления контейнерами -Мониторинг ? Разрешите поинтересоваться, что вы читали по теме? Где вы раздобыли вот этот список и нарекли обязательным? Читал много разных статей, в итоге "нарисовалась" такая картина. Если я ошибаюсь - не вопрос, с удовольствием приму правильный ответ от знающих людей. Вот Вы бы что включили в состав CI/CD? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2020, 07:43 |
|
Подраздув за CI/CD
|
|||
---|---|---|---|
#18+
MAULER Читал много разных статей, в итоге "нарисовалась" такая картина. Если я ошибаюсь - не вопрос, с удовольствием приму правильный ответ от знающих людей. Вот Вы бы что включили в состав CI/CD? Всё, что потребуется. CI/CD это практика, а не обязательный набор инструментов. Вот у вас в списке "Контейниризация" -- далеко не каждый проект использует контейнеры, а раньше их вообще не было. CI/CD было. Вы лучше не списки составляйте, а задачи, которые требуется решать, чтобы достичь цели. Выбранный вами подход вам сильно навредит. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2020, 18:24 |
|
Подраздув за CI/CD
|
|||
---|---|---|---|
#18+
hVostt, Да я, как Вы сказали, и "составляю списки", чтобы попробовать (попробовать!) загнать несколько продуктов разрабатываемые под разными стеками, под единый, если так можно выразиться "Стандарт". Только "стандарт" будет выражаться не в используемых технологиях, а подходе к разработке, интеграции и доставке продукта до конечного клиента. Т.е. с одной стороны: хочется унифицировать этот процесс, чтобы в определённый момент времени, показав "график прогресса разработки" топ-менеджеру, было понятно, как продвигаются дела по указанному продукту, с другой стороны не хочется нести денежные траты, только потому, что (утрирую) в одном отделе используют TeamCity (по историческим причинам) а в другом - бесплатный Jenkins. И может быть имеет смысл обоих перевести на Jenkins, а денежную разницу от перехода использовать для чего то другого. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2020, 08:47 |
|
Подраздув за CI/CD
|
|||
---|---|---|---|
#18+
MAULER, Открою большую тайну - CI/CD средствами gitlaba или там битбакета - гораздо эффективней чем в джэнкинсе. Тяжело придумать задачу, которую нельзя решить средствами хранения кода. Джэнкинс востребован там где нужно понтовый выбор для пользователя, ну или всякие плюшки для показухи... (круглый) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2020, 21:25 |
|
Подраздув за CI/CD
|
|||
---|---|---|---|
#18+
kolobok0 CI/CD средствами gitlaba или там битбакета На некоторых относительно простых задачах этого вполне достаточно. kolobok0 Тяжело придумать задачу, Вы просто с такими не сталкивались :) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2020, 22:27 |
|
Подраздув за CI/CD
|
|||
---|---|---|---|
#18+
MAULER Да я, как Вы сказали, и "составляю списки", чтобы попробовать (попробовать!) загнать несколько продуктов разрабатываемые под разными стеками, под единый, если так можно выразиться "Стандарт". Только "стандарт" будет выражаться не в используемых технологиях, а подходе к разработке, интеграции и доставке продукта до конечного клиента. Т.е. с одной стороны: хочется унифицировать этот процесс, чтобы в определённый момент времени, показав "график прогресса разработки" топ-менеджеру, было понятно, как продвигаются дела по указанному продукту, с другой стороны не хочется нести денежные траты, только потому, что (утрирую) в одном отделе используют TeamCity (по историческим причинам) а в другом - бесплатный Jenkins. И может быть имеет смысл обоих перевести на Jenkins, а денежную разницу от перехода использовать для чего то другого. Вы как и многие другие лупите себе по голове одной и той же граблей. Сначала задачу выясните, или задачи. Решать нужно от задач. И порой от имеющихся инструментов. А то можно себе набрать такой стек из технологий, на который у компании денег не хватит. Или "бесплатных" технологий, и у компнии не хватит никаких денег, чтобы найти спецов на эти технологии. Вот вы приходите такой в компанию. И говорите, вам нужен гитлаб. А там сидят на тимсити, им этот гитлаб кривой нафиг не упёрся. Но у вас же списочек типа, и всё. Идите от задач. Лучше абстрагируйтесь для начала, возьмите что-то готовое на рассмотрение, например решение Azure. Познаете больше, чем ворох поверхностной информации. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2020, 22:31 |
|
Подраздув за CI/CD
|
|||
---|---|---|---|
#18+
hVostt Вы просто с такими не сталкивались :) ну-ну... Вы небось в джэнкинсе чекбоксы выбираете мышкой даже? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2020, 22:36 |
|
Подраздув за CI/CD
|
|||
---|---|---|---|
#18+
kolobok0 hVostt Вы просто с такими не сталкивались :) ну-ну... Вы небось в джэнкинсе чекбоксы выбираете мышкой даже? Лучше даже не начинать :) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2020, 00:01 |
|
Подраздув за CI/CD
|
|||
---|---|---|---|
#18+
hVostt Вы как и многие другие лупите себе по голове одной и той же граблей. Сначала задачу выясните, или задачи. Про задачу, Вы мне твердите уже раз третий наверно. Это к слову о голове и граблях. Я же пытаюсь разными словами донести Вам мысль, что я НЕ ПРИВЯЗАН к технологиям (ne privyazan k technologiyam). Цель одна - постараться выработать единый стандарт или несколько стандартов разработки, накатывания обновлений, взаимодействия с командой разработчиков. В организации полный винегрет стеков, кто на что горазд. Да, не все они бесплатны, возможно по этой причине руководство приняло решение навести порядок. Это в своём роде некая "ревизия", возможно, кто-то засиделся на старом подходе или стеке, и внедряет свой продукт слишком долго и болезненно. Какую задачу Вы решаете, когда покупаете третью пару летних кроссовок или штанов в сезоне? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2020, 08:11 |
|
Подраздув за CI/CD
|
|||
---|---|---|---|
#18+
MAULER Цель одна - постараться выработать единый стандарт или несколько стандартов разработки, накатывания обновлений, взаимодействия с командой разработчиков. И при чём тут CI/CD? ИМХО тут надо походить по командам, выяснить текущее положение дел, какие проблемы решены, насколько хорошо, какие есть, чего бы хотелось в итоге... Сформировать какое-то предложение, показать всем, собрать и учесть комментарии, и только потом оформлять проект. Иначе вы рискуете придумать нечто, что не подходит никому. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2020, 08:53 |
|
Подраздув за CI/CD
|
|||
---|---|---|---|
#18+
MAULER Какую задачу Вы решаете, когда покупаете третью пару летних кроссовок Это, как раз, очень хороший пример, потому что кроссовки, скажем, чтобы просто ходить, кроссовки для тенниса и кроссовки для футбола отличаются радикально, вплоть до невозможности их взаимозамены. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2020, 09:07 |
|
Подраздув за CI/CD
|
|||
---|---|---|---|
#18+
skyANA ИМХО тут надо походить по командам, выяснить текущее положение дел, какие проблемы решены, насколько хорошо, какие есть, чего бы хотелось в итоге... Сформировать какое-то предложение, показать всем, собрать и учесть комментарии, и только потом оформлять проект. Иначе вы рискуете придумать нечто, что не подходит никому. Вы всё правильно говорите. Я с этого и начал. Пытаюсь понять и зафиксировать текущий "расклад" ситуации в огранизации. Говорю с людьми, фиксирую проблемы с которыми они сталкиваются. Но у людей, на законных основаниях, возникает вопрос, а зачем мне это всё нужно? Чтобы сориентировать "для чего" и "куда" приходится показывать "свет в конце туннеля" в виде CI/CD. И, что интересно, ни у кого не возникает отторжения, никто не пытается моментально переубедить в бесполезности подходов CICD. Я уже несколько раз переделывал документ, который пополняется в результате бесед с тимлидами и рядовыми разработчиками, и думаю, переделаю его ещё не раз и не два. CICD я использую как ориентир, возможно мы к нему и не перейдем и будет нечто среднее, между CICD и чем то ещё. Повторюсь, что в поиске "стандарта разработки", придет совместное понимание, вещей, которым раньше не уделялось должного внимания. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2020, 09:13 |
|
Подраздув за CI/CD
|
|||
---|---|---|---|
#18+
fkthat Это, как раз, очень хороший пример именно! Потому, что некоторые покупают кроссовки потому что понравились. Красивые. У них нет жизненно важной необходимости, потому что старые протерлись до дыр или отпала подошва. Просто понравились. В них тупо удобнее. Хотя и старые не развалились и нога в них ок. Именно по этой же причине, молодежь меняет по 5 штук смартфонов за год (а то и больше) У нового гаджета есть NFC - беру! Что картой расплатиться нельзя что-ли? Какие задачи он решает? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2020, 09:21 |
|
Подраздув за CI/CD
|
|||
---|---|---|---|
#18+
MAULER skyANA ИМХО тут надо походить по командам, выяснить текущее положение дел, какие проблемы решены, насколько хорошо, какие есть, чего бы хотелось в итоге... Сформировать какое-то предложение, показать всем, собрать и учесть комментарии, и только потом оформлять проект. Иначе вы рискуете придумать нечто, что не подходит никому. Вы всё правильно говорите. Я с этого и начал. Пытаюсь понять и зафиксировать текущий "расклад" ситуации в огранизации. Говорю с людьми, фиксирую проблемы с которыми они сталкиваются. Но у людей, на законных основаниях, возникает вопрос, а зачем мне это всё нужно? Чтобы сориентировать "для чего" и "куда" приходится показывать "свет в конце туннеля" в виде CI/CD. И, что интересно, ни у кого не возникает отторжения, никто не пытается моментально переубедить в бесполезности подходов CICD. Я уже несколько раз переделывал документ, который пополняется в результате бесед с тимлидами и рядовыми разработчиками, и думаю, переделаю его ещё не раз и не два. CICD я использую как ориентир, возможно мы к нему и не перейдем и будет нечто среднее, между CICD и чем то ещё. Повторюсь, что в поиске "стандарта разработки", придет совместное понимание, вещей, которым раньше не уделялось должного внимания. А теперь наложите полученные данные на: MAULER Правильно ли что должны быть обязательно: -Система версионного контроля -Build-сервер -Этап тестирования -Анализатор кода -Хранилище артефактов -Контейнеризация -Система управления контейнерами -Мониторинг И скорее всего вы поймёте то, что это некое идеальное будущее, до которого придётся идти в несколько этапов, через разные проекты с разными людьми. И в этом контектсте "обязательно" означает то, что когда-нибудь всё это у вас обязательно будет, а вот на первом этапе хотелось бы реализовать следующее... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2020, 13:06 |
|
Подраздув за CI/CD
|
|||
---|---|---|---|
#18+
MAULER У нового гаджета есть NFC - беру! Что картой расплатиться нельзя что-ли? Какие задачи он решает? Теоретически, при оплате мобилой через тот же Google Pay сложнее оттрекать где сколько и за что ты платил. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2020, 13:30 |
|
Подраздув за CI/CD
|
|||
---|---|---|---|
#18+
Дмитрий Мух И скорее всего вы поймёте то, что это некое идеальное будущее, до которого придётся идти в несколько этапов, через разные проекты с разными людьми. И в этом контектсте "обязательно" означает то, что когда-нибудь всё это у вас обязательно будет, а вот на первом этапе хотелось бы реализовать следующее... Ну так и есть )) Соглашусь, что в силу своей неопытности в вопросах CI/СD я использую выражения, которые могут совсем не подходить для описания сути вопроса. Но мне всё таки хочется, нащупать "тело" и "кости" этой методологии, чтобы она не осталась для меня "сферическим конём в вакууме" а имела вполне конкретную практику реализации. Понятно, что для каждой компании она своя, но стоит копнуть глубже, сразу упираюсь в советы типа "Какие задачи?", Средства? - "Всё что потребуется". Так можно и до абсурда дойти, писать всё в блокноте, компилировать из батника, а в команде иметь два с половиной программиста, которые и тестировщики, и аналитики, и QA и всё на свете. Но это не будет CI/СD - это будет шляпа. Если бы здесь привели реальные примеры практик реализации полностью раскрывающие CICD, то мне бы, на первое время этого бы хватило. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2020, 15:29 |
|
|
Start [/forum/topic.php?fid=37&tid=1555243]: |
0ms |
get settings: |
32ms |
get forum list: |
11ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
44ms |
get topic data: |
19ms |
get forum data: |
5ms |
get page messages: |
967ms |
get tp. blocked users: |
2ms |
others: | 172ms |
total: | 1266ms |
0 / 0 |