Dima
Ну вот. И этих ребят мы потеряли
она очень тупая, но в то же время сложная.
Serge
один раз загрузил, потом только кнопочку "build" нажимаешь. и из гита тебе подтягивается сценарий сборки.
Так не бывает. Я хочу разные пайплайны в разных ветках. Т.е. вот я добавил новый вид тестов, включил в пайплайн, закомитил, смотрю билд
Serge
Из всего, что я видел. Gocd мне ближе всего, но там тоже есть нюансы
Serge
И там плохо с модулями
Serge
И оно на Java
Dima
ну так оно и есть. https://concourse.ci/pipelines.html - вот про пайплайны в пониманиии конкорса
Womchik
а почему почти все эти ci на яве?
Dima
а то что ты кладешь в git репозиторий в разные ветки - у конкорса называется build-plan. кладешь что нужно куда нужно. она может чекать репозиторий и при появении коммитов начинать собирать. https://concourse.ci/build-plans.html
Womchik
заговор какой-то
Serge
а почему почти все эти ci на яве?
Ну, выкинь go, c# закрыт. Питон - скриптики. Нужен открытый язык с тредами, взрослым ооп и проверкой типов. Что берем?
Dima
в пайплайн конкорса можно сделать хоть десять. для каждого пишешь свою логику в yaml что делать.
Serge
в пайплайн конкорса можно сделать хоть десять. для каждого пишешь свою логику в yaml что делать.
Еще раз. Репа, оттуда пайплайн, который задает всё и перебрасывает артефакты между задачами и стейджами
Serge
Так почему тогда ява не нравится? 😅
Потому что уже есть go:) да и в питоне уже можно строго писать, хотя gil всё ещё
Womchik
ява жрёт почти так же как и руби
Serge
ява жрёт почти так же как и руби
Руби не существует. Руби - миф.
Womchik
Руби не существует. Руби - миф.
эх. хотелось бы. но у меня программеры имено на этом пишут
Serge
эх. хотелось бы. но у меня программеры имено на этом пишут
Это мифические существа. Ты живешь в волшебной стране. Тебе повезло.
Womchik
Это мифические существа. Ты живешь в волшебной стране. Тебе повезло.
да на них памяти не напасёшься. а их activerecord любит генерить гигантские запросы и вставлять туда where (1=0) убывбы
Serge
Еще раз. Репа, оттуда пайплайн, который задает всё и перебрасывает артефакты между задачами и стейджами
Вот очень зачаточный вариант, всё очень WIP. https://github.com/stonicio/distonic/blob/feature/mvp/distonic.yml Три стейджа, внутри каждого может быть несколько задач. Задачи исполняются параллельно, стейджи последовательно.
Serge
А, чего?:)
Serge
где хранится пайплайн? можно ли динамически менять ход пайплайна в зависимости от условий?
хранится в репе. условное выполнение планируется, но сильно не сразу
Serge
нужно будет реальные юзкейсы смотреть, чтобы понять как лучше
Lex
что с хранением секретов?
Lex
что с расширяемостью?
Serge
жаль, что не сразу
не ну сразу будет, следующий стейдж не запускается, ели предыдущий не зеленый. и возможность пометить стейдж зеленым, есди какая-то конкретная таска не зеленая. т.е. не обращать внимания на ее результат, но репортить его
Lex
нужно будет реальные юзкейсы смотреть, чтобы понять как лучше
реальный юзкейс: > фичабранчи в который не надо гонять полный пайплайн и из которых опциональный деплой
Serge
реальный юзкейс: > фичабранчи в который не надо гонять полный пайплайн и из которых опциональный деплой
так у тебя в бранче его пайплайн. условное выполнение, типа в какой ветке тоже можно попробовать скоро
Serge
что с хранением секретов?
тут сложнее;) будем смотреть. какой-то артефакт внешний можно сделать, это про расширяемость как раз
Serge
реальный юзкейс: > фичабранчи в который не надо гонять полный пайплайн и из которых опциональный деплой
каждый тип таска - отдельный плагин. общение межу ними через артефакторий
Lex
оки, очень ограниченная помощь нужна?
Serge
каждый тип таска - отдельный плагин. общение межу ними через артефакторий
ну и можно сделать модули задач, которые будет загружать секреты из разных мест и класть в артефакторий этого запуска
Serge
оки, очень ограниченная помощь нужна?
кодеревью на mvp надо будет и early adoption feedback
Lex
тут надо подумать, было у меня пару идей
Lex
кодеревью на mvp надо будет и early adoption feedback
первое врядли, не та квалификация, разве что-то мелкое и рутинное пописать, про второе -- могу
Serge
ну и можно сделать модули задач, которые будет загружать секреты из разных мест и класть в артефакторий этого запуска
ну т.е. вот есть у тебя Vault. делаем плагин, который предоставляет тип задачи "vault_secrets". задача решена:)
Serge
первое врядли, не та квалификация, разве что-то мелкое и рутинное пописать, про второе -- могу
ну мелкое рутинное будет после первых реальных применений. постараюсь ставить тег соотвествующий в трекере;)
Lex
ну т.е. вот есть у тебя Vault. делаем плагин, который предоставляет тип задачи "vault_secrets". задача решена:)
может просто внутренний api для модулей секретов и прозрачное подключение внешних сторджей, без vault_secrets?
Serge
надо смотреть. хочется на первом этапе иметь минимум сущностей. потом можно думать над внесением модулей в ядро, как фич с собственным апи
Lex
согласен
Aleksey
@lig11 у stonic tdd ?
🏳️ Phil
@lig11 у stonic tdd ?
Он сейчас тебя застрелит
Aleksey
нее. я про перспективы
🏳️ Phil
Сердце ложкой выковыряет
Aleksey
раз перед кодом начали ci прикручивать значит tdd.
Aleksey
к тому же я же помню почему начался стоник
🏳️ Phil
он ещё не начался
Serge
@lig11 у stonic tdd ?
Не совсем, но 100% в интеграционной ветке. Можешь на pyventory посмотреть. В Stonic будет также.
Serge
У меня даже на pyventory была уже история, когда именно добивание до 100% выявило ненужный код.
Andrey
Коллеги, а вы когда ансиблом архив распаковываете и вам допустим 1 файл надо распаковать - вы как поступаете?
Andrey
конкртено сейчас стоит задача вытащить 1 файл из архива и положить его в определённую папку
Andrey
с модулем unarchive ознакомился
Andrey
но там получается надо exclude на все-все-все папочки и файлики писать кроме нужного? так?
Andrey
то есть хочется чтобы итогом было аналог последовательности "tar -jxvf —strip=2 lalala.tar.bz lalala/bin/file; mv file /place/for/file"
Aleksey
tar
Andrey
что тар? ты предалгаешь взять модуль command?
Aleksey
changed_when
Aleksey
да
Andrey
😩
Aleksey
да это так
Andrey
я пока писал уже на шелле быстрее сделал
Andrey
щас уже спортивный интеререс роль доделать
Andrey
changed_when
а я мысль не понл - причём тут это?
Aleksey
дак комманд changed: True если не переопределить
Andrey
всё-равно не понял
Арсен
чего бы этот файл не положить в templates он часто меняется?
Maxim
ну да, давайте архив на полгига в темплейтс положим
Maxim
и в гит сразу, чо