Talking to people at conferences and in comments to articles, we face the following objection: static analysis reduces the time to detect errors, but takes up programmers' time, which negates the benefits of using it and even slows down the development process. Let's get this objection straightened out and try to show that it's groundless.
Читать полностью »
Рубрика «ci» - 3
Handling Objections: Static Analysis Will Take up Part of Working Time
2019-09-12 в 11:23, admin, рубрики: ci, code quality, code quality tools, devops, DevTools, programming, pvs-studio, SAST, software development, static code analysis, Блог компании PVS-Studio, Программирование, Тестирование IT-систем, управление разработкойНастройка Warnings Next Generation плагина для интеграции PVS-Studio
2019-09-11 в 7:21, admin, рубрики: ci, devops, Jenkins, Jenkins CI, open source, plugin, plugins, pvs-studio, pvs-studio free, PVS-Studo, pvsstudio, static code analysis, warnings, Блог компании PVS-Studio, Тестирование IT-систем, управление разработкой
Релиз PVS-Studio 7.04 совпал c релизом плагина Warnings Next Generation 6.0.0 для Jenkins. Как раз в этом релизе Warnings NG Plugin добавил поддержку статического анализатора PVS-Studio. Этот плагин визуализирует данные о предупреждениях компилятора или других инструментов анализа в Jenkins. В этой статье будет подробно рассказано как установить и настроить данный плагин для использования с PVS-Studio, а также описано большинство его возможностей.
Читать полностью »
Мой пятый день с Haiku: давайте портируем немножко программ
2019-08-15 в 12:40, admin, рубрики: bug reports, ci, compiling, docker, gitlab, Haiku, linux, MacOS, open source, ports, qt, testing, Блог компании Southbridge, системное администрирование, Софт
TL;DR: Новичок увидел Haiku в первый раз, пробует портировать некоторые программы из мира Linux.
Deploy Symfony + React приложения на AWS посредством CI
2019-08-04 в 7:24, admin, рубрики: Amazon Web Services, AWS, ci, circleci, docker, elasticbeanstalk, symfonyДобрый день, в данной статье я покажу как развернуть Symfony 4 приложение на AWS. В официальной документации есть пример подобного процесса, однако мой вариант не столь тривиален, как загрузка zip архива с приложением. На дворе 2019, в моде docker, микросервисная архитектура и CI/CD практики наконец-то начинают входит в инструментарий не только DevOps-инженеров, но и простых смертных разработчиков. Чтобы статья была более интересна, я добавил фронт на React.JS, для охвата потребностей большей массы людей, если ваше приложение не использует Encore — не беда, я укажу как изменить Docker-файл для вас, поддержка React.JS тут влияет только на него. Кому будет интересен данный туториал? В первую очередь он направлен на PHP-разработчиков, желающих изменить свою практику деплоя — отойти от привычных канонов и воспользоваться docker для паковки своего приложения и выкладки образа. Но можно пойти чуть глубже, и дальнейшее повествование будет направлено на автоматический деплой приложения из Git'а посредством CI/CD платформы (будет использован CircleCI, но если интересует конфиг Gitlab'а, пишите в комментариях, я приложу). По сути, тут абсолютно не важно React/PHP ли у вас приложение или, скажем, на .NET Core, данная часть будет интересна разработчикам для получения навыков автоматизации деплоя в целом. Исходный код доступен в github-репозитории, ссылка в конце статьи. Ну что же, поехали!
Читать полностью »
Blameless environment: никто не должен писать качественный код
2019-08-01 в 7:30, admin, рубрики: blameless envitoment, ci, DDD, qa, quality, qualityconf, Анализ и проектирование систем, Блог компании Конференции Олега Бунина (Онтико), Совершенный код, Тестирование IT-систем, управление разработкойНа РИТ++ Никита Соболев (sobolevn) выступил, как он сам назвал это, с проповедью на тему качества кода и процессов в компании. Особо впечатлительных просим налить себе ромашкового чаю, но отойти от экранов не предлагаем. Вы можете не соглашаться ни с одним из тезисов, настаивать, что трёп о сериалах — залог здоровой атмосферы в коллективе, и утверждать, что вам не нужны строгие рамки линтера и CI, чтобы писать хороший код. Но если вы хоть раз винили окружающих в неудачах на работе, вам стоит прочитать или посмотреть рассказ Никиты.
Работали ли вы когда-нибудь на плохой работе?
Я работал и долго. Моя компания была ужасна. Все было очень плохо, за что ни возьмись — все из рук вон. У нас были отвратительные процессы, ненавистные клиенты и неумелые разработчики. С этим ничего нельзя было поделать. Когда все так плохо, просто не знаешь, за что взяться, с чего начать. Чувствуешь себя жалким винтиком, который не может ни на что влиять.

Когда я говорю, все плохо, я имею в виду, что у нас был:
- плохой код — никто не думал о качестве кода, никто не мог даже сформулировать, что такое качество кода.
- плохие процессы.
- мы не могли нормально общаться,
- мы не делали то, что хотел клиент.
Да, это была аутсорс-разработка, но не это делало её плохой. Люди сделали ее такой.Читать полностью »
Автоматизируй это! Как мы улучшали интеграционное тестирование
2019-07-05 в 10:05, admin, рубрики: CD, ci, qa, автотесты, Блог компании Яндекс.Деньги, никто не читает теги, релизный цикл, системы сборки, тестирование, Тестирование IT-систем, Тестирование веб-сервисовВ давние времена у нас было всего несколько сервисов, и выложить за сутки обновление более чем одного из них на production — было большой удачей работой. Потом мир ускорился, система усложнилась, а мы трансформировались в организацию с микросервисной архитектурой. Теперь у нас около сотни сервисов, и вместе с ростом их числа увеличивается и частота релизов — их более 250 в неделю.
И если новые фичи тестируют внутри продуктовых команд, то задача команды интеграционного тестирования — проверить, что изменения, включенные в релиз, не ломают функциональность компонента, системы и других фич.

Я работаю инженером по автоматизации тестирования в Яндекс.Деньгах.
В этой статье расскажу про эволюцию интеграционного тестирования web-сервисов, а также про адаптацию процесса к увеличению числа компонентов системы и повышению частоты релизов.
Читать полностью »
Эволюция CI в команде мобильной разработки
2019-04-11 в 8:22, admin, рубрики: android, appsconf, ci, gitflow, Блог компании Конференции Олега Бунина (Онтико), мобильная разработка, разработка мобильных приложений, Разработка под androidСегодня большинство программных продуктов разрабатываются в командах. Условия успеха командной разработки можно представить в виде простой схемы.

Написав код, вы должны убедиться, что он:
- Работает.
- Ничего не ломает, в том числе код, который написали ваши коллеги.
Если оба условия выполняются, то вы на пути к успеху. Чтобы легко проверять эти условия и не сворачивать с выгодного пути, придумали Continuous Integration.
CI — это рабочий процесс, при котором вы как можно чаще интегрируете свой код в общий код продукта. И не просто интегрируете, а еще и постоянно проверяете, что все работает. Так как проверять нужно много и часто, стоит задуматься об автоматизации. Можно все проверять на ручной тяге, но не стоит, и вот почему.
Читать полностью »
Вышел релиз GitLab 11.8 с SAST для JavaScript, GitLab Pages для подгрупп и отслеживанием ошибок
2019-03-11 в 16:01, admin, рубрики: CD, ci, ci/cd, continuous delivery, continuous deployment, continuous integration, devops, Git, gitlab, open source, softmart, системы сборки, Системы управления версиями
Поддержка SAST для JavaScript
Благодаря Static Application Security Testing (SAST) GitLab сканирует код и помогает обнаружить потенциальные уязвимости еще в конвейере. В релизе 11.8 мы добавляем в список поддерживаемых SAST языков JavaScript, на основе существующей поддержки node.js. Теперь можно просканировать любые файлы JavaScript, статические скрипты и HTML. Важной практикой в DevSecOps сейчас является сканирование изменений при каждом коммите, и с этим обновлением SAST мы покрываем один из самых популярных веб-языков, помогая пользователям раньше обнаруживать риски в коде на JavaScript.
Buildbot: сказ с примерами еще об одной системе непрерывной интеграции
2019-02-10 в 16:03, admin, рубрики: buildbot, ci, continuous integration, devops, Git, open source, python, twisted, системы сборки
(картинка с официального сайта)
Buildbot, как несложно догадаться из названия, является инструментом для непрерывной интеграции (continuous integration system, ci). Про него уже было несколько статей на хабре, но, с моей точки зрения, из них не очень понятны преимущества сего инструмента. Кроме того, в них почти нет примеров, из-за чего трудно увидеть всю мощь программы. В своей статье я постараюсь восполнить эти недостатки, расскажу про внутренне устройство Buildbot'a и приведу примеры нескольких нестандартных сценариев.
Читать полностью »
Вышел GitLab 11.7 с Релизами, многоуровневыми вложенными эпиками и реестром NPM-пакетов
2019-02-01 в 13:21, admin, рубрики: CD, ci, ci/cd, continuous delivery, continuous deployment, continuous integration, devops, Git, gitlab, open source, softmart, системы сборки, Системы управления версиями
Управление релизами стало намного проще
GitLab 11.7 представляет Релизы для планов начиная с Core. Пользователи теперь будут получать полный «слепок» релиза — исходный код со всеми артефактами проекта. Это избавляет от необходимости вручную собирать в одном месте исходный код, лог сборки, другие метаданные или артефакты, относящиеся к данному релизу. Эта фича послужит основой для более развернутого и проработанного управления релизами в будущем.
