Travis CI — распределённый веб-сервис для сборки и тестирования программного обеспечения, использующий GitHub в качестве хостинга исходного кода. Помимо указанных выше сценариев работы, можно добавить собственные, благодаря обширным возможностям для конфигурации. В данной статье мы настроим Travis CI для работы с PVS-Studio на примере кода PPSSPP.
Читать полностью »
Рубрика «devops» - 59
Как настроить PVS-Studio в Travis CI на примере эмулятора игровой приставки PSP
2019-08-22 в 7:55, admin, рубрики: bugs, c++, devops, Gamedev, gamedevelopment, open source, pvs-studio, static code analysis, travis-ci, Блог компании PVS-Studio, облачные сервисы, облачные технологии, открытый код, разработка игр, статический анализ кодаHow to set up PVS-Studio in Travis CI using the example of PSP game console emulator
2019-08-22 в 7:39, admin, рубрики: bugs, c++, devops, Gamedev, gamedevelopment, open source, pvs-studio, static code analysis, travis-ci, Блог компании PVS-Studio, облачные сервисы, разработка игр
Travis CI is a distributed web service for building and testing software that uses GitHub as a source code hosting service. In addition to the above scripts, you can add your own, thanks to the extensive configuration options. In this article we will set up Travis CI for working with PVS-Studio by the example of PPSSPP code.
Читать полностью »
Собирать Docker-образы в werf теперь можно и по обычному Dockerfile
2019-08-21 в 9:55, admin, рубрики: continuous delivery, devops, docker, dockerfile, werf, Блог компании Флант, системное администрирование, системы сборкиЛучше поздно, чем никогда. Или как мы чуть не допустили серьёзную ошибку, не имея поддержки обычных Dockerfiles для сборки образов приложения.
Речь пойдёт про werf — GitOps-утилиту, которая интегрируется с любой CI/CD-системой и обеспечивает управление всем жизненным циклом приложения, позволяя:
- собирать и публиковать образы,
- разворачивать приложения в Kubernetes,
- удалять неиспользуемые образы с помощью специальных политик.
Распределённая трассировка: мы всё делали не так
2019-08-20 в 9:44, admin, рубрики: devops, distributed tracing, opentracing, Анализ и проектирование систем, Блог компании Флант, микросервисы, отладка, распределенная трассировка, трассировкаПрим. перев.: Автор этого материала — Cindy Sridharan, инженер из компании imgix, занимающаяся вопросами разработки API и, в частности, тестирования микросервисов. В этом материале она делится своим развёрнутым видением актуальных проблем в области распределённой трассировки, где, по её мнению, наблюдается недостаток по-настоящему эффективных инструментов для решения насущных задач.
[Иллюстрация заимствована из другого материала про распределенную трассировку.]
Считается, что распределенную трассировку сложно внедрять, да и отдача от нее в лучшем случае сомнительная. «Проблемность» трассировки объясняют множеством причин, при этом часто ссылаются на трудоемкость настройки каждого компонента системы для передачи соответствующих заголовков вместе с каждым запросом. Хотя эта проблема действительно имеет место, ее вовсе нельзя назвать непреодолимой. Она, кстати, не объясняет, почему разработчики не очень любят трассировку (даже уже функционирующую).Читать полностью »
Настраиваем Out-Of-Memory Killer в Linux для PostgreSQL
2019-08-20 в 6:18, admin, рубрики: devops, oom, oom killer, postgresql, Блог компании Southbridge, Серверное администрирование, системное администрирование
Когда в Linux сервер базы данных непредвиденно завершает работу, нужно найти причину. Причин может быть несколько. Например, SIGSEGV — сбой из-за бага в бэкенд-сервере. Но это редкость. Чаще всего просто заканчивается пространство на диске или память. Если закончилось пространство на диске, выход один — освободить место и перезапустить базу данных.
Out-Of-Memory Killer
Когда у сервера или процесса заканчивается память, Linux предлагает 2 пути решения: обрушить всю систему или завершить процесс (приложение), который съедает память. Лучше, конечно, завершить процесс и спасти ОС от аварийного завершения. В двух словах, Out-Of-Memory Killer — это процесс, который завершает приложение, чтобы спасти ядро от сбоя. Он жертвует приложением, чтобы сохранить работу ОС. Давайте сначала обсудим, как работает OOM и как его контролировать, а потом посмотрим, как OOM Killer решает, какое приложение завершить.
«Слёрм» — highly addictive. Как превратить междусобойчик в глобальный проект
2019-08-19 в 12:32, admin, рубрики: devops, kubernetes, Блог компании Southbridge, мероприятие, отчёт, Серверное администрирование, системное администрирование, СлёрмSouthbridge со своим Слёрмом — единственная в России компания, которая имеет сертификат KTP (Kubernetes Training Provider).
Слёрму исполнился год. За это время наши интенсивы по Кубернетес прошло 800 человек. Самое время заняться мемуарами.
9-11 сентября в Питере, в конференц-зале Selectel пройдет очередной Слёрм, пятый по счету. Будет введение в Kubernetes: каждый участник создаст кластер в облаке Selectel и задеплоит туда приложение.
Под катом — история Слёрма, начиная с идеи и до сегодняшнего дня.
Павел Селиванов на открытии Слёрма-4
Управление сотнями серверов для нагрузочного теста: автомасштабирование, кастомный мониторинг, DevOps культура
2019-08-19 в 5:01, admin, рубрики: Ansible, devops, miro, orchestration, realtimeboard, terraform, автомасштабирование, Блог компании Miro, динамическое масштабирование, отчеты тестирования, Тестирование IT-систем, Тестирование веб-сервисовВ прошлой статье я рассказал про нашу инфраструктуру большого нагрузочного теста. В среднем мы создаём порядка 100 серверов для подачи нагрузки и порядка 150 серверов для работы нашего сервиса. Все эти сервера нужно создавать, удалять, конфигурировать и запускать. Мы используем для этого те же инструменты, что и на проде, чтобы уменьшить количество ручной работы:
- Для создания и удаления тестового окружения — Terraform скрипты;
- Для конфигурирования, обновления и запуска — Ansible скрипты;
- Для динамического масштабирования в зависимости от нагрузки — самописные Python-скрипты.
Благодаря скриптам Terraform и Ansible, все операции от создания инстансов до запуска сервера выполняются всего шестью командами:
#запускаем нужные инстансы в консоли aws
ansible-playbook deploy-config.yml #обновляем версии серверов
ansible-playbook start-application.yml #запускаем наше приложение на этих серверах
ansible-playbook update-test-scenario.yml --ask-vault-pass #обновляем Jmeter сценарий, если в нём были изменения
infrastructure-aws-cluster/jmeter_clients:~# terraform apply #создаем jmeter сервера для подачи нагрузки
ansible-playbook start-jmeter-server-cluster.yml #запускаем jmeter кластер
ansible-playbook start-stress-test.yml #запускаем тест
Sampler. Консольная утилита для визуализации результата любых shell команд
2019-08-19 в 4:11, admin, рубрики: bash, console, demo, devops, Go, golang, linux, open source, prototyping, shell, terminal, visualization, визуализация данных, ПрограммированиеВ общем случае с помощью shell команды можно получить любую метрику, без написания кода и интеграций. А значит в консоли должен быть простой и удобный инструмент для визуализации.
Наблюдение за изменением состояния в базе данных, мониторинг размера очередей, телеметрия с удаленных серверов, запуск деплой скриптов и получение нотификации по завершению — конфигурируется за минуту простым YAML файлом.
Код доступен на гитхабе. Инструкции по установке — для Linux, macOS и (экспериментально) Windows.
Слияние OpenTracing и OpenCensus: путь к конвергенции
2019-08-16 в 21:28, admin, рубрики: devops, opencensus, opentracing, programming, Блог компании Southbridge, Серверное администрирование, системное администрирование
Авторы: Тед Янг, Притам Шах и «Комитет технических спецификаций» (Карлос Альберто, Богдан Друту, Сергей Канжелев и Юрий Шкуро).
Совместный проект обзавелся названием: http://opentelemetry.io