Сегодня многие говорят о DevOps как о методологии, которая помогает разрушить «железный занавес» между IT отделном, QA и программистами и создать некий общий механизм, помогающий делать продукты быстрее и качественнее. Основная задача, которая встает перед DevOps разработчиком — это добиться максимальной автоматизации развертывания development. testing, production сред и переходов между ними. Соответственно одна из основных проблем в данном случае — это соблюсти полную идентичность сред разработки, тестирования и эксплуатации. Под катом приведу пример практического решения данной задачи, которое я использовал в нескольких компаниях в ходе интеграции DevOps методологии.
Читать полностью »
Метка «rpm»
Решение проблемы идентичности сред в DevOps методологии
2014-01-09 в 12:32, admin, рубрики: CentOS, devops, python, rpm, ит-инфраструктура, системное администрирование, метки: CentOS, DevOps, python, rpmОтдадим проект в хорошие руки
2013-09-30 в 5:04, admin, рубрики: CentOS, linux, nginx, rpm, говнокод, репозиторий, системное администрирование, метки: CentOS, linux, rpm, говнокод, репозиторий
Доброго времени суток уважаемые пользователи ! Хотелось бы с вами поделиться своими переживаниями по поводу одного проекта и передать его в добрые руки.
Читать полностью »
Установка любого клона Red Hat Enterprise Linux не используя стандартный инсталлятор
2013-06-10 в 13:19, admin, рубрики: bash, CentOS, linux, oracle linux, red hat enterprise linux, rpm, yum, метки: bash, CentOS, oracle linux, red hat enterprise linux, rpm, yum Устанавливать современную Linux систему нужно только один раз, как для единственного физического сервера, так и развертывания целой виртуальной фермы. Почему бы не потратить на это чуточку больше времени и сразу сделать все именно так как нужно, а не допиливать то что приехало из инсталлятора по его рельсам. К тому-же, количество софта которое ставится в «минимальном» режиме стандартного установщика, не соответствует действительно минимальному.
Кому-то ручная установка может показаться тратой времени, но каждый линуксоид обязан это сделать хотябы раз, чтоб лучше понимать как это работает. Eсли Вас не пугают слова fdisk, grub и chroot, читаем далее.
Читать полностью »
nRepo — управление обновлениями в Linux
2012-10-29 в 15:00, admin, рубрики: repository, rpm, update, yum, Серверное администрирование, системное администрирование, метки: repository, rpm, update, yum, системное администрирование
nRepo — это простой и удобный инструмент для управления автоматическими обновлениями на серверных OS Linux.
Космическая Змея в Магазине или Как Мы «CheeseShop» Ставили
2012-07-10 в 10:55, admin, рубрики: deployment, django, python, rpm, системное администрирование, метки: deployment, python, rpmДоброе время суток, уважаемые читатели!
Ниже приведена увлекательная(?) история о том как наша организация решала проблему т.н. «деплоймента как у людей». Наш основной язык разработки Python, с примесями разных интересных (и не очень) пакетов (Django, Bottle, Flask, PIL, ZMQ, и т.д.).
Начнём с краткого описания одного из наших приложений:
- Django 1.4
- MySQL
- Celery для крон-имитации и поддержки вспомогательных функций в фоновом режиме
- Daemon-процесс, основанный на Django management command
Всё это дело работает под связкой gUnicorn и nginx, на ОС CentOS 5.8.
Детали, как принято, ниже.
Устанавливаем и обновляем приложение из GIT средствами YUM, rpm и Puppet
2012-05-17 в 21:25, admin, рубрики: puppet, rpm, yum, системное администрирование, метки: puppet, rpm, yumНедавно появилась необходимость автоматизировать внедрение приложений из GIT на сервера.
В данной статье я решил описать свой опыт внедрения.
Поступило интересное задание по установке/обновлению приложения на серверах компании имея следующие данные:
* Приложение расположено в GIT
* Версия приложения можно узнать командой "git tag"
* Список серверов и путь где должно находиться приложение
Поскольку исторически так сложилось, что в компании используется RPM-based OS, то, IMHO, в данном случае наиболее правильным решением было реализовать упаковку приложения в RPM-пакет с последующим распространением его через puppet. Соответственно puppet устанавливает ПО и накатывает необходимый конфигурационный файл по шаблону.
Процесс настройки системы:
- Настройка yum-репозитория
- Установка и настройка nginx
- Скрипт автоматического build с размещением его в yum-репозиторий
- Автоматическая проверка обновлений и привязка к созданию build
- Настройка puppet