Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Alex Nikulin
    @anikulin
    неаакуратно
    Victor Verbitsky
    @vektory79

    Ну у меня Jenkinsfile вообще вот так выглядит:

    @Library('jenkins-pipeline-lib') _
    buildMultibranchProject("project-dist", 'prj-build', true)

    И я в упор не помню когда в последний раз менял его :-)

    Правда тут целая пачка хитростей под капотом, но это уже другой разговор :-)
    Alex Nikulin
    @anikulin
    @vektory79 вот я как раз пример хотел посмотреть ) мне примерно так надо
    Alex Nikulin
    @anikulin
    а еще, у меня multibranch pipeline не прибивает за собой старые воркспейсы и приходится чистить руками...
    Victor Verbitsky
    @vektory79
    Ну мы за мультибранчем тоже сами кроном подчищаем.
    А выложить примеры... Ну я к этому движусь, но это не так-то просто и никаких сроков назвать не смогу...
    Victor Verbitsky
    @vektory79
    @anikulin пока могу только сказать в общих чертах. Завёл в репо глобальный конфиг, в котором перечислил все проекты по именам и для каждого проекта прописываются настройки: URL на репо, кому репортить на ошибки, какие артифакты сохранять после билда и т.п.
    В результате мне остаётся просто указать какой проект и с каким селектором нод собрать и всё уже само разматывается и собирается.
    Волков Сергей
    @DcWolfserik_twitter
    Всем привет. Кто нибудь знает нормальный способ балансировки джоб, которые написаны в виде пайплайна? аналог heavy plugin
    Victor Verbitsky
    @vektory79
    Тоже интересует этот вопрос, т.к. сейчас всё на глаз настраиваем.
    @DcWolfserik_twitter можно ещё тут спросить: https://t.me/jenkins_ru ;-)
    Волков Сергей
    @DcWolfserik_twitter
    Спасибо за ссылку, посмотрю. Я уже перерыл весь инет, ничего не смог найти толкового. Пробовал создать фейовую джобу с весом, не пайплайн, дёргать её внутри пайплана с указанием веса, чтобы эммитировать загрузку, но не нашел инструмента, как эту джобу абортить внутри пайплайна.
    пока что то нет идей больше
    Victor Verbitsky
    @vektory79
    @DcWolfserik_twitter Ну уж если настолько заморачиваться, то можно ещё и в эту сторону поглядеть: https://plugins.jenkins.io/lockable-resources/
    Волков Сергей
    @DcWolfserik_twitter
    я так понял, что без заморочек не выйдет, нормального же плагина нет для пайпланов
    Victor Verbitsky
    @vektory79
    просто представить ресурсы нод, как абстракцию для этого плагина и всперёд. Но это тоже пальцем в небо, т.к. джоба запросто может сильно отклоняться в обе стороны
    Волков Сергей
    @DcWolfserik_twitter
    да, я смотрел в сторону локабл ресурсов, но что-то не зашло на первый взгляд
    просто думал может я такой тугой, фича кажется супер важной
    неужели нет нормального решения в комьюнити
    Victor Verbitsky
    @vektory79
    Пока не видел...
    Alex Nikulin
    @anikulin
    @vektory79 а, то есть подчистка за мультибранчем это нормально. а как чистите? он названия воркспейсов до 32 символов обрезает, регулярку просто так не написать )
    @DcWolfserik_twitter а в чем суть балансировки нод?
    Волков Сергей
    @DcWolfserik_twitter
    @anikulin суть в том, что разные джобы жрут разное количество ресурсов,
    Kanstantsin Shautsou
    @KostyaSha
    надо думать как указать джобе есть 2-3 экзекутора
    Anatoliy Anatoliy
    @dynamo265_twitter
    Привет. Помогите пожалуйста Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
    Alex Nikulin
    @anikulin
    всем привет. тоже вопрос про балансировку. или я неправильно ищу, или ищу не то, но я так и не понял, как сделать чтобы locable resources делились по агентам? например Resource1 есть в количестве 1 на каждом агенте. Хочется чтобы джобы при запуске это понимали и не просто ждали освобождения ресурса, а шли на тот агент, где этот ресурс свободен. так нельзя сделать, да?
    Kanstantsin Shautsou
    @KostyaSha
    через плагин который по слейвам мог ограничивать ресурсы наверное можно... там джоб к группе можно было отнести. Но точно не помню
    Anatoliy Anatoliy
    @dynamo265_twitter
    Привет.Помогите пожалуйста [SEVERE]: bind() failed: Cannot assign requested address (99)
    Victor Verbitsky
    @vektory79
    Порт занят другим приложением. Кого-то загасить надо :-)
    Волков Сергей
    @DcWolfserik_twitter
    parallel build_1: {
        build job: 'some_job'
    }, build_2: {
        build job: 'some_job'
    }
    failFast: false
    у меня такой код стартует один и тот же билд, это нормально?)) то есть some_job запускается не 2 билда, а 1. Выглядит дико, или я что то не понимаю
    Kanstantsin Shautsou
    @KostyaSha
    параметризируй джобы чтобы их очередь не склеивала
    Terdunov Vyacheslav
    @vterdunov
    есть желание помониторить Дженкис. в частности ГЦ, хип. Есть прометеус и графана. Погуглил немного и для jvm нашёл jmx exporter. кто-то этим пользовался? или кто как мониторит? плагин для метрик в формате прометеуса особенно не подходит, так как Дженкинс периодчески (раз в неделю) подыхает, судя по всему от долгих ГЦ. Добавил ГЦ лог в журнал, и смотрел через сайт easygc. Но хочется как-то проактивно и в реалтайме смотреть в графане.
    Kanstantsin Shautsou
    @KostyaSha
    точно так же как и любая другая jvm прилага
    ну и еще на дедлоки мониторинг
    Djek
    @Asgardov
    Всем привет. Автокомплитом (через .gdsl) никто не заморачивался? Кейс такой: я подтянул с рабочего проекта GDSL файл и попытался описать действия в pipeline в отдельном файле. Ну и половину синтаксиса не понимает IDE (например agent, stages и тд). Если кто решал поделитесь как победили.
    Alex Nikulin
    @anikulin
    всем привет. наверняка кто-нибудь делал шареные пайплайны в дженкинсе. что лучше использовать - декларативные или скриптованные? скриптованные вроде гибче, на первый взгляд.
    Kanstantsin Shautsou
    @KostyaSha
    декларативное это костыль поверх
    Alex Nikulin
    @anikulin
    я, скорее, про то, что скриптованный папйлайн можно вызвать из своей джобы по частям, типа pipeline.build().test().release();
    а декларативный только целиком
    Stanislav Ovchar
    @stchar
    скриптовый пайплайн более гибкий, в плане делай что хочешь, особенно если можешь выйти за рамки песочницы, декларативный топорный как gitlabci .yml или любой ci.yml сколько стейджей прописал столько их и будет. Хочешь общие куски вынести в либу - забудь про деклативность, хотя у декларативного мне нравится пост шаги, и докер с ним удобнее использовать
    но parallel там как правило выливается в простыню копипасты stage, agent, env, post
    Alex Nikulin
    @anikulin
    можно я опять с тупым вопросом? спасибо.
    правильно я понимаю, что все, кто пользуется в пайплайнах ssh, вызывает его всегда с параметром StrictHostKeyChecking=no, чтобы не было заморочек с host key verification?
    Kanstantsin Shautsou
    @KostyaSha
    в основном да тк сервера часто меняются, а никто не заботится о правильности ключей
    ainur-fa
    @ainur-fa
    Подскажите как реализовать следующее: имеется скажем 5 параллельно запускаемых pipeline, каждый из которых состоит из 5 Stage, необходимо чтобы до запуска 5го stage все Pipeline должны завершить предыдущие 4 stage. Другими словами чтоб 5 stage каждого pipeline запускался одновременно
    Stanislav Ovchar
    @stchar
    Есть такая команда в пайплане waitFor, в качестве семафора можно использовать 5 отдельных boolean объектов
    ainur-fa
    @ainur-fa
    Не нашел такую команду(waitFor), есть waitUntil - но вопрос в том как отследить состояние соседних pipeline-ов, которые еще не завершены.
    В принципе вопрос уже решен, реализовал через Lockable Resources
    Stanislav Ovchar
    @stchar
    да, сорри, waitUntil, lockableResource тоже вариант
    glx506
    @glx506
    Всем привет. Может кто подскажет плагин для настроек параметров аутентификации в Jenkins. Нужна возможность задавать сложность пароля. Контролировать частоту смены пароля пользователями. Прикручивать Active Directory не очень хочется.
    Kanstantsin Shautsou
    @KostyaSha
    нету такого, используй SSO какой-нибудь с редиректом
    glx506
    @glx506
    Понял. Спасибо.
    0vchar
    @0vchar
    Всем привет. Есть ли "красивый" способ проверить, что после перевода Jenkins в quietDown, все фришные джобы завершились и pipeline'ы на паузе? Для того, чтобы спокойно обновляться-перезагружаться.