powered by simpleCommunicator - 2.0.29     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Maven и зависимость по коммиту гита
23 сообщений из 48, страница 2 из 2
Maven и зависимость по коммиту гита
    #40083973
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Я держу 2 копии проекта в двух фолдерах. Чтоб в 2 среды разработки открывать один и тот-же проект в разных бранчах
и стоять в двух дебаггерах одновременно.

Я понимаю, что это - антипаттерн работы, но мне почему-то так удобно. Если кто знает оптимизацию или автоматизацию
подобного - сообщите plz.
цель не описал. Автоматизацию чего?)))))
...
Рейтинг: 0 / 0
Maven и зависимость по коммиту гита
    #40083976
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Я понимаю, что это - антипаттерн работы

в гите для этого даже отдельную мульку сделали - worktree. в голову тут же приходит пример проектов с android или node/npm - если нужно часто переключаться между сильно отличающимися бранчами, можно постареть пока все обновится/задаунгрейдится.
...
Рейтинг: 0 / 0
Maven и зависимость по коммиту гита
    #40083977
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton
Я держу 2 копии проекта в двух фолдерах. Чтоб в 2 среды разработки открывать один и тот-же проект в разных бранчах
и стоять в двух дебаггерах одновременно.

Я понимаю, что это - антипаттерн работы, но мне почему-то так удобно. Если кто знает оптимизацию или автоматизацию
подобного - сообщите plz.
цель не описал. Автоматизацию чего?)))))

Автоматизацию всего. Моей работы. Нужно обновлять 2 локальных репо. Нужно стартовать 2 экземпляра среды
и настраивать одинаковый view. Рутина.
...
Рейтинг: 0 / 0
Maven и зависимость по коммиту гита
    #40083980
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev
Не понял, про какую часть CD вопрос? Если про пайплайн, то обычный Jenkins. Вот только деплой бы для секурности вынести в отдельный инструмент (а женкинс его дергает), но я по старинке пока - женкинсом делаю.


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

и вот с моей точки зрения шаг "что-то куда-то накатить" даже не имеет смысла автоматизировать:
- во-первых, он не особо-то и много времени занимает
- во-вторых, за это кто-то получает зарплату
- в-третьих, от релиза к релизу шаги меняются и нет никакого смысла это автоматизировать

однако все что сейчас существует на рынке, и в особенности в опенсорсе, даже эту задачу автоматизировать толком не в состоянии, здесь не особо вижу смысла накидывать кучу примеров в качестве подтверждения мысли, но в целом видится так, что все эти "автоматизации" зиждятся на трех китах:
- у заказчика неправильный дизайн приложения и нужно его менять
- у заказчика кривая архитектура и нужно ее менять
- ну мы тут у себя что-то запускали, а на проде внезапно что-то пошло не так, виноват дизайн и архитектура
...
Рейтинг: 0 / 0
Maven и зависимость по коммиту гита
    #40083981
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
То есть ты сделал
git clone //repo1 c:\dir1
git clone //repo1 c:\dir2
?
И чё?)))
...
Рейтинг: 0 / 0
Maven и зависимость по коммиту гита
    #40083993
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton,
То есть ты сделал
git clone //repo1 c:\dir1
git clone //repo1 c:\dir2
?
И чё?)))

Ладно забей. Не стоит это внимания.
...
Рейтинг: 0 / 0
Maven и зависимость по коммиту гита
    #40083998
Андрей Панфилов, CD как раз и решает все эти проблемы одним нажатием кнопки. Я даже часто это нажатие на плечи QA перекладываю, ведь они решают что сборка достойна.
Андрей Панфилов- сформировать ранлист, где указаны определенные вехи и продолжительность операцийЭто все в скрипте.
Андрей Панфилов- согласовать (ну и назначить) время среди всех заинтересованных владельцев систем, а не только целевойКак правило нет никакой необходимости. Разве что функционал сильно поменялся и мы хотим тренинг провести для сотрудников.
Андрей Панфилов- оповестить пользователей о предстоящей недоступности (мне вот, к примеру, банк присылает оповещения что онлайн-кабинет не будет работать в определенный промежуток времени)CD предполагает zero-downtime deployment (blue-green deployment, canary releases). Я последний раз деплоил с даунтаймом 10 лет назад (не, ну лукавлю - у меня были несколько релизов с даунтаймом даже во времена CD, но это большое исключение).
Андрей Панфилов- согласовать доступность ключевых сотрудников на случай если что-то пойдет не по плануС трудом припоминаю случаи когда что-то шло не так (CD от этого защищает), но наверно может быть. Для этого нужен либо деплой новой версии с фиксом (т.е. нужно это делать в рабочее время когда есть разрабы) если фикс быстрый, либо просто деплой предыдущей версии. Если база меняется только аддитивно (никаких rename/drop используемых колонок), то это piece of cake.
Андрей Панфилов- убедиться что из резервных копий можно-таки восстановитьсяЭто тоже легко автоматизируется и должно проверяться на постоянной основе. Где позволительно, резервные копии нужно накатывать на какие-то из дев окружений (PREPROD?), это же защитит от плохих миграций которые проходят везде кроме PROD'a.
Андрей Панфилов- в час Х создать резервные копии, если необходимо
- что-то куда-то накатить
- прогнать смок-тесты
Автоматизируется
Андрей Панфилов- оповестить, что систему можно проверятьНе знаю кому и зачем это надо. Это просто "пресс релиз".
Андрей Панфилови вот с моей точки зрения шаг "что-то куда-то накатить" даже не имеет смысла автоматизировать:
- во-первых, он не особо-то и много времени занимает
Во-первых времени это занимает прилично, т.к. это не единоразовая активность. Особенно учитывая все шаги с бекапами и пр. Во-вторых это очень ответственная процедура и в ней не должно быть ошибок. Для этого мы описываем ее в скриптах, которые тестируются на всех окружениях прежде чем будет применяться на проде.
Андрей Панфилов- во-вторых, за это кто-то получает зарплатуСтранный аргумент, за ковку подков тоже когда-то получали зарплату.
Андрей Панфилов- в-третьих, от релиза к релизу шаги меняются и нет никакого смысла это автоматизироватьПоследний раз менял скрипты даже не знаю когда.. 4 года назад наверно. И так в каждом проекте в которых я реализовывал CI/CD - скрипты создаются на начальных этапах и про них забывают. Разве что захотелось на какой-то новый софт перейти.
Андрей Панфиловоднако все что сейчас существует на рынке, и в особенности в опенсорсе, даже эту задачу автоматизировать толком не в состоянии, здесь не особо вижу смысла накидывать кучу примеров в качестве подтверждения мысли, но в целом видится так, что все эти "автоматизации" зиждятся на трех китах:
- у заказчика неправильный дизайн приложения и нужно его менять
- у заказчика кривая архитектура и нужно ее менять
- ну мы тут у себя что-то запускали, а на проде внезапно что-то пошло не так, виноват дизайн и архитектураНе понимаю о каких инструментах речь. CI/CD - это больше культурная и процессуальная вещь, изменения должны произойти в головах людей. Скрипты нужно самим написать, не знаю какие бы инструменты тут могли помочь. Скрипты прийдется скорей всего в каждом проекте заново писать, как и код (эх..).
...
Рейтинг: 0 / 0
Maven и зависимость по коммиту гита
    #40084060
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev,

ну вот ваши цитирования по строчке не вызывают никакого желания вступать в дальнейшую дискуссию... Давайте так: если все по вашему мнению "автоматизируется", то, будте добры, назовите хотя бы название продукта, где все что я хочу реализовано (а не то что какой-то шаг якобы не нужен потому что вы с ним не сталкивались), а не слово "Jenkins" где все откровенно лепится из говна и палок (есть text area куда можно shell/grrovy писать - ну и пишем туда лапшу), ну или по крайней мере попробуйте доказать свое утверждение, что шаги инсталляции никогда не меняются, с учетом того что бывают миграции данных, которые идут довольно долго и для ускорения процесса что-то может запускаться параллельно, а что-то должно выполняться строго последовательно. То чем сейчас занимаются DevOps - это профанация чистой воды, у них сначала лапша г.кода жила в chief/ansible/etc, потом перекочевала в CI/CD, а потом в Dockerfile, однако от этого как она была лапшой так и осталась - каких-то качественных изменений за последние 15 лет в процессе разворачивания приложений так и не произошло (ну разве что перестали несколько приложений в один контейнер деплоить).
...
Рейтинг: 0 / 0
Maven и зависимость по коммиту гита
    #40084115
Андрей Панфиловну вот ваши цитирования по строчке не вызывают никакого желания вступать в дальнейшую дискуссиюНе понял - ожидается что я просто пропущу половину из написанного и не прокомментирую?
Андрей ПанфиловДавайте так: если все по вашему мнению "автоматизируется", то, будте добры, назовите хотя бы название продукта, где все что я хочу реализовано (а не то что какой-то шаг якобы не нужен потому что вы с ним не сталкивались), а не слово "Jenkins" где все откровенно лепится из говна и палокДак ты против того что "все автоматизируется" или против скриптов? Я не утверждал что есть какой-то мифический инструмент который за нас все сделает. Нам нужно написать скрипты , магии не существует. Будет ли говно и палки или что там еще - ну это кто как напишет. Но работающую автоматизацию можно сделать даже из говна и палок. Это все равно будет намного лучше ручного вмешательства.
Андрей Панфиловну или по крайней мере попробуйте доказать свое утверждение, что шаги инсталляции никогда не меняютсяЭт что за выдумки, я где-то писал что они никогда не меняются? Я говорил про "редко".
Андрей Панфиловс учетом того что бывают миграции данных, которые идут довольно долго и для ускорения процесса что-то может запускаться параллельно, а что-то должно выполняться строго последовательноУ меня были миграции по неделе и ничего не пришлось менять в скриптах, все решалось исключительно поддержкой обратной совместимости в новых релизах пока шла миграция. Наверняка бывают какие-то исключения когда прийдется что-то вручную промигрировать или что-то в этом роде, но это все же исключения, я бы на них внимания не заострял.

Вообще удивительно что в 2021ом мы ведем такие дискуссии. Уже 5 лет назад казалось что ручные манипуляции во время деплоя - это каменный век.
...
Рейтинг: 0 / 0
Maven и зависимость по коммиту гита
    #40084161
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Maven и зависимость по коммиту гита
    #40084247
O_79_O
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
Stanislav Bashkyrtsev,
Как это все в одной ветке?
Подробнее.
Пилят 20 прогеров 20 фич с новым кодом.
Все 20 в мастер коммитят?
Например, в конце дня 20 челов скинули НЕКОМПИЛИРУЕМЫЙ код в мастер ветку?

не так конечно же
берешь таску - делаешь ветку под нее- выставляешь пр - пр проходит ревью и вливается в мастер

если у вас разработка ведется на несколько релизов сразу - то тогда пры вливаются в релизные ветки и оттуда уже все собирается автоматически в тимсити на нужные стенды

тость о чем стас и говорил короткоживущие ветки под конкретную таску

ну а автору остается лишь посочувствовать и почитать соверменные статьи CI/CD
...
Рейтинг: 0 / 0
Maven и зависимость по коммиту гита
    #40084250
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
O_79_O,
Он 3 раза подтвердил что ветки не создают и работают с мастер веткой.
...
Рейтинг: 0 / 0
Maven и зависимость по коммиту гита
    #40084251
O_79_O
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость

как же ты про гитхаб то родимый забыл
он же сейчас все это предоставляет

пс.лучше тим сити не будет уже- это топ тулза для больших распределенных команд и множества релизыных веток и стендов
но если денег нет ,можно и на гитхабе собираться
...
Рейтинг: 0 / 0
Maven и зависимость по коммиту гита
    #40084253
O_79_O
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
O_79_O,
Он 3 раза подтвердил что ветки не создают и работают с мастер веткой.

комитят в мастер сразу?
...
Рейтинг: 0 / 0
Maven и зависимость по коммиту гита
    #40084258
O_79_O
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
кстати нашел баг,при редактировании сообщения нет возможности фото вставить ,если изначально сообщение было без фото,хотя кнопки выбора фото присутсвуют!
Ну что ж вы sql багоделы!)
...
Рейтинг: 0 / 0
Maven и зависимость по коммиту гита
    #40084260
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В чем принципиальная разница между:
- коммит в мастер
- коммит в бранч => PR => слияние в мастер
?
...
Рейтинг: 0 / 0
Maven и зависимость по коммиту гита
    #40084261
Alexander A. Sak
В чем принципиальная разница между:
- коммит в мастер
- коммит в бранч => PR => слияние в мастер
?
В такой постановке - никакой. Вот где есть разница:
1. push to branch -> push to branch -> push to branch -> review -> master
2. push to branch -> review -> master -> push to branch -> review -> master -> push to branch -> review -> master

Т.е. мы не доводим фичу до конца в ветке, а потом вливаем. А стараемся вливать периодически то что есть, что-то что еще не закончено. Это апогей Continuous Integration'а.
...
Рейтинг: 0 / 0
Maven и зависимость по коммиту гита
    #40084271
O_79_O
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Stanislav Bashkyrtsev
Alexander A. Sak
В чем принципиальная разница между:
- коммит в мастер
- коммит в бранч => PR => слияние в мастер
?
В такой постановке - никакой. Вот где есть разница:
1. push to branch -> push to branch -> push to branch -> review -> master
2. push to branch -> review -> master -> push to branch -> review -> master -> push to branch -> review -> master

Т.е. мы не доводим фичу до конца в ветке, а потом вливаем. А стараемся вливать периодически то что есть, что-то что еще не закончено. Это апогей Continuous Integration'а.

это апогей дурости,у меня в процессе разработки может быть такая каша в коде - сотни тысяч строк в коментах и тд
науха мне это вливать то ?и собствено ладно - как это пройдет код ревью?
вы либо мазохисты ,либо просто идиоты - утраиваете себе работу

я вот так представляю ваш процесс- взял таску начал ресерч сделал себе ветку - что то там наработал - в коде не разбериха,работает или нет непонятно - но надо влить в мастер)))

стасян надеюсь ты что то перепутал или у вас там в киргизии так принятно?)

ну и вообще как можно вливать в мастер без @QA - нужно влить на тест стенд- провести полноценное тестирование и потом тоько вливать
если у вас не так,а судя по всему нет - мне вас безумно жаль
...
Рейтинг: 0 / 0
Maven и зависимость по коммиту гита
    #40084272
O_79_O
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
заведите себе пару стендов под дев,под тест,под препрод
наймите @qa которые умеют писать автотесты на питоне и тогда вас постигнет мысль о том - что нах не надо вливать что то неготовое ибо это неготовое невозможно оценить ни с точки тестов ни с точки бизнеса- ну да есть какая то куча кода и все)
...
Рейтинг: 0 / 0
Maven и зависимость по коммиту гита
    #40084605
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev
Уже 5 лет назад казалось что ручные манипуляции во время деплоя - это каменный век.


Мы с вами по-видимому на разных полях играем, отсюда и возникает отсутствие взаимопонимания... Со стороны ДИТ деплой наверное уже лет как 30 полностью автоматизирован: создается work order, он кем-то закрывается, каким именно образом он закрывается - это уже проблема вполне конкретного подразделения, они могут хоть пляски с бубном устраивать, главное чтобы work order был закрыт. Вы же пытаетесь зацепиться за несущественные детали процесса, откровенно забывая о куда более существенных: основная цель преследуемая в IT - это прозрачность и предсказуемость процессов, ну прямо как в армии: все должно быть строго параллельно и перпендикулярно, условно, если с какой-то системой начинаются проблемы, то при расследовании люди первым делом хотят увидеть какие регламентные и нерегламентные проводились в целевой системе и смежных, ровно также мониторинг должен в первую очередь не красивые картинки рисовать, а заводить инциденты в сервис-деске.

Ваш дженкинс тупо не позволяет вывести процессы ДИТ на новый уровень зрелости - у его создателей просто такие цели не стоят, в дженкинсе какие-то совсем уж очевидные дыры закрываются плагинами, работоспособность и поддержка которых откровенно оставляет желать лучшего, и говно-скриптами на shell и groovy, вот откройте какой-нибудь сценарий shell в своем проекте, если в нем второй строчкой не идет "set -e", то этот сценарий просто по определению говно (я кстати не поленился и посмотрел что в этом плане происходит в "соседнем" проекте, где люди "любят" писать shell-скрипты - из 30 сценариев только в трех есть заветная строчка, потому полез смотреть что твориться в linux-kernel (ну где же еще правду-то искать) - там в 50% случаев у скриптов "правильная шапка"), а еще не забываем про то, что в shell работа со строками происходит через "одно место" - нужно все время все обрамлять кавычками и экранировать символы, и приходим к выводу что что-то автоматизировать на shell - это, откровенно, так себе затея (вообще если обратить внимание на системы сборки для java, то развитие было такое: shell -> make -> ant -> maven/groovy, и уход в сторону shell - это явная деградация). Точно также, если что-то делается через SQL-портянки, то первой строчкой в этих портянках должно быть что-то в духе "WHENEVER SQLERROR EXIT FAILURE", аналогично в Dockerfile не должно быть тэга :latest и команд RUN
...
Рейтинг: 0 / 0
Maven и зависимость по коммиту гита
    #40084609
Андрей Панфилов , я наверно повторюсь, но безотносительно того говно или не говно bash, хорошо на нем пишут или плохо - это все равно лучше ручного вмешательства.
Андрей ПанфиловСо стороны ДИТ деплой наверное уже лет как 30 полностью автоматизирован: создается work order, он кем-то закрывается, каким именно образом он закрывается - это уже проблема вполне конкретного подразделения, они могут хоть пляски с бубном устраивать, главное чтобы work order был закрыт.Многие путаются в термине DevOps - кто-то думает что это люди. На самом деле этот термин значит Devs & Ops команды работающие вместе . В более широком смысле это значит культуру компании, где не "моя хата с краю", а разные роли и департаменты работают друг с другом совместно чтоб получить хороший результат. Не каждый работает на свою метрику, а наоборот - он может пожертвовать своим временем ради других если это повышает производительность организации в целом . Т.е. мы боремся не за локальный, а именно за глобальный оптимум.

Это именно то к чему IT пришло чуть больше 10 лет назад - такая схема приводит к более успешным проектам и компаниям. А "заводится work order - они там пусть че хотят, то и делают" - это что-то из 90ых. Программисты должны разбираться на каких OS у них деплой, с какой конфигурацией. И без их помощи Ops инженеры не смогут сделать свою работу хорошо, ведь одна из их основных задач - полностью автоматизировать деплой. Именно от разработчиков зависит можно ли реализовать blue-green deploy, будут ли они релизить маленькие куски (с помощью branching by abstraction, feature toggles и пр) или большие (после которых возникает намного больше проблем), как что логируется и пр, пр.

И это же будет помогать затем программистам делать продукт лучше. Потому как они смогут получать своевременную обратную связь (из-за частых релизов) и дальше делать решения основываясь на данных, а не на догадках.

Да и в целом это повышает мораль, CI/CD - это спокойные проекты, без стрессов, где релиз всегда проходит гладко.
...
Рейтинг: 0 / 0
Maven и зависимость по коммиту гита
    #40084625
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
O_79_O

как же ты про гитхаб то родимый забыл
он же сейчас все это предоставляет

пс.лучше тим сити не будет уже- это топ тулза для больших распределенных команд и множества релизыных веток и стендов
но если денег нет ,можно и на гитхабе собираться

Про bitbucket еще забыл. Там тоже какой-то конвейер CI/CD продается в комплекте.
https://bitbucket.org/product/features/pipelines

Мы использовали бакет лет 6 назад только как репо. Без этого конвейера. Поэтому не могу
сказать насколько там все хорошо или плохо. Пусть знающие откомментируют.
...
Рейтинг: 0 / 0
Maven и зависимость по коммиту гита
    #40084651
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav Bashkyrtsev,
Ты немного смешал темы "Методология разработки ПО (водопадная, экстремальная, скрам,...
И тему гита.
Чаще релизы это относится к первому вопросу.
Слово Методология определяет те вещи о которых ты говоришь
...
Рейтинг: 0 / 0
23 сообщений из 48, страница 2 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Maven и зависимость по коммиту гита
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]