Ответы пользователя по тегу Непрерывная интеграция
  • Kubernetes, десятки configmap и как это готовить?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    У вас просто организационная проблема, нужно переделать архитектурный подход.

    В глаза кидаются мелочи типа

    В каждом сервисе подключен бутстрап конфиг, в котором подключены 4-5 конфигмапов дополнительно

    А почему у вас несколько конфигмапов на одно приложение, а не один конфигмап?

    При выдаче изменений версионных, в основном, требуется к примеру в 10-и конфигах сделать изменения

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

    По итогу можно провтыкать изменить на каком-то окружении параметр, и всё..окружения уже не одинаково настроены.

    Делать статические параметры, и в конфигмапы выносить исключительно environment-related опции.

    По вашему вопросу никто не скажет решения. Это нужно сесть и переделать.
    У меня свыше 100 компонентов, десяток енвайрнментов. Конфигмап один на неймспейс, секрета два на неймспейс, в принципе достаточно.
    Ответ написан
    2 комментария
  • Как настроить тестовый сервер, чтобы одновременно можно было тестировать несколько версий проекта?

    saboteur_kiev
    @saboteur_kiev Куратор тега Git
    software engineer
    В вашем случае было бы удобнее всего работать с докером.
    При этом все тесты должны быть автоматическими и запускаться на localhost

    Любым CI инструментом настраиваете триггер на коммит или пулл реквест, чтобы собрать проект, сбилдить докер образ, запустить его и внутри запустить автотесты.

    Для ручных тестов, конфигурация будет гораздо, гораздо сложнее, тут уже не вопрос на тостер, а масштабная работа.
    Ответ написан
    2 комментария
  • Интеграция Jenkins и Mattermost?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    2) зачем плагин? Обычный curl и почитать апи маттермоста?
    Ответ написан
  • Тестовый стенд в облаке с установкой проприеритарной софтины с GUI, куда копать?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Так вы вопрос сформулируйте, что именно не получается.
    Если вопрос в автоматической установке приложения - ну любое приложение это в конечном счете просто файлики и, может быть, немного реестра.
    Можно взять чистую виртуалку, включить регмон/файлмон и отследить что и куда поставит инсталлятор. Затем руками можно будет уже ставить без инсталлятора.

    Докер для виндовс приложений конечно можно, но докер всеже больше рассчитан на линуксовую область. В случае облака, проще сделать образ для виртуалки, с которого клонировать и запускать тестовую машину. Но это зависит от того, что вам нужно.
    А в первую очередь, все-таки конкретнее сформулировать желаемое
    Ответ написан
    3 комментария
  • Как решать проблемы запуска автотестов из Teamcity локально?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    А в чем проблема сделать локальное окружение такое же как в тимсити?
    Сохранить ту же структуру каталогов.
    Все основные переменные хранить не в тимсити а прямо в коде, сделать несколько конфигурационных файлов/папок для разных енварйнментов, в том числе и local профайл
    Даже пароли можно хранить в коде, если зашифровать и локально/в тимсити хранить только мастер ключ для нужного енварйнмента.

    Либо да, разобраться с контейнерами, но не всегда это удобно
    Ответ написан
    2 комментария
  • Как организовать команды для внедрения CI/CD?

    saboteur_kiev
    @saboteur_kiev Куратор тега Организация работы
    software engineer
    CI/CD это не организация команд, это организация процесса автоматической сборки/деплоймента/тестирования.

    Для этого девопс/админ или шарящий в этой теме разработчик придумывают правила (branching name conventions, versioning, настраивает соответствующие инструменты и инфраструктуру (teamcity/jenkins/какой-нить bitbucket с пулл реквестами. Чтобы по коммиту собирался билд, проходили юнит тесты, результат деплоился в тестовый энвайрнмент, запускались автотесты, результат возвращался в пулл реквест и подтверждал действие.
    Чтобы деплоймент на тестовый энвайрнмент делался одной кнопкой, чтобы деплой на прод делался одной кнопкой с предварительным подтверждением и аппрувалом также в цифровом виде.
    Вот это все.

    А команды - как угодно можно сделать.
    Ответ написан
    2 комментария
  • Какие есть современные решение для хранения исходников проектов в компании?

    saboteur_kiev
    @saboteur_kiev Куратор тега Git
    software engineer
    у вас же уже есть тег git в вопросе.
    В git и хранятся.

    Количество версий вообще не говорит о размере проекта. Кто-то каждый коммит называет новой версией. У кого-то между двумя версиями сотни и тысячи бренчей и слияний.

    Гит часто используется не сырым, а с какой-нить оболочкой (gitlab, gerrit, bitbucket/stash) или даже сразу с хостингом на том же github.
    Ответ написан
    5 комментариев
  • Проблемы с Jenkins и ASP.NET Core?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Пути поправьте. В ваших кракозябрах про это и говорится:

    проект "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\ArchitectureTools\Microsoft.VisualStudio.TeamArchitect.ModelingProject.targets" не обнаружен.
    Проверьте путь в объявлении и наличие файла на диске.
    
    error MSB4019: импортированный проект "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\DotNet\Microsoft.DotNet.Props" не обнаружен.
    Проверьте путь в объявлении и наличие файла на диске.
    Ответ написан
    2 комментария
  • В чем смысл ежедневных сборок?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Варианты могут быть такие:
    а) На каждый коммит сразу идет сборка продукта и прогоняются интеграционные тесты.

    Плюсы такие - на рабочем месте вам нужен только GIT и IDE, все компиляторы, окружение для запуска приложения - на нодах билдсервера. В результате вы можете кодить откуда угодно, и сразу проверять целостность сборки с каждым коммитом.

    б) сборка может быть ночной. Например потому что билд идет 5 часов на толстом сервере, и на рабочей машине он будет идти 10-15 часов, а то и не идти вообще. Тогда конечно, желательно не ломать билд недоделанными коммитами. Но git же позволяет коммитить без пушей, либо пользоваться бренчами, и настраивать сборку не на просто коммит, а на мерж в девелоперский или мастер бренч.

    в) Билдов может быть много, разных, под билдами вообще не обязательно подразумевается компиляция, а например прогон исходников через какой-нить анализатор кода, с репортом, могут гоняться тесты для отдельных компонентов.

    Ну и кроме того, у разработчиков своя работа, у тестировщиков своя. Полезно тестировать фичи по мере их появления, а не ждать неделю, а потом сидеть в мыле.
    Ответ написан
    3 комментария
  • Какая есть замена Jenkins CI?

    saboteur_kiev
    @saboteur_kiev Куратор тега Системное администрирование
    software engineer
    Напишите свой велосипед вместо CI
    Дженкинс легче просто дальше некуда, а с вашими требованиями, чтобы еще и бесплатно и маленькое и все работало - пишите просто свои скрипты.
    Ответ написан
    7 комментариев
  • Jenkins или Teamcity, можно ли настроить phpunit на remote сервере?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Jenkins легко управляет нодами, для этого ему нужно просто настроить вторизацию по ssh на нодах.
    Вообще, оыбчно на саомм jenkins почти никогда ничего не выполняется - он служит аггрегатором логов и центром запуска тасков.
    Ноды легко объединяются по группам и в таске настраивается ноды из какой группы могут его выполнять.

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