Category Archives: Scripting/coding

HowTo и примеры использования bash, C, Python, Ruby и т.д.

Jenkins: миграция RTFM 2.6 – Jenkins Pipeline для Ansible

10/18/2017
 

 В одном из предыдущих постов – Jenkins: миграция RTFM 2.4 – Jenkins Pipeline для CloudFormation RTFM стека – была добавлена задача в Jenkins для создания и апдейта AWS CloudFormation стека. Следующая задача – запускать Ansbile из Jenkins для настройки серверов в стеке. Далее создадим одну Ansbile роль с установкой NGINX, потом добавим задачу в Jenkins. PEM-ключи для… Read More »

Jenkins: миграция RTFM 2.4 – Jenkins Pipeline для CloudFormation RTFM стека

10/14/2017
 

 Продолжение сетапа инфрастуктуры для блога. Решил добавить в заголовки “версию” каждого поста, в данном случае – миграция RTFM 2.4. Тут мажорная версия “2” – потому что год тому уже что-то подобное начинал делать (AWS: миграция RTFM, часть #1: ручное создание инфраструктуры – VPC, подсети, IGW, NAT GW, маршруты и EC2), а минорная “4” – четвёртый пост… Read More »

AWS: IAM и bash скрипт бекапа MySQL/MariaDB баз в AWS S3

10/13/2017
 

 Задача – набросать скрипт для создания бекапов всех баз сервера БД и сохранять их в корзину. В общем – всё просто: бекапы делаем с помощью mysqldump, в S3 корзину пушим с помощью AWS CLI. Далее: создаём корзину для бекапов создаём пользователя с read-write политикой для доступа к этой корзине и сам скрипт Для простоты –… Read More »

Ansible: миграция RTFM 2.2 – RTFM Jenkins provision

10/08/2017
 

 Продолжение сетапа Jenkins для RTFM. Начало – AWS: CloudFormation для EC2 c Jenkins. Для того, что бы развернуть Jenkins на EC2 в созданном стеке – потребуются: Docker для запуска самого Jenkins docker-compose файл для запуска Jenkins и подключения разделов Т.к. CI для развёртывания CI не будет 🙂 – то добавлю скрипт, который будет запускать создание стека а… Read More »

Jenkins: Pipeline, Groovy, Ansible и VM provisioning

09/22/2017
 

 Продолжение постов Ansible: пример установки NGINX и Azure: provisioning с Resource Manager, Jenkins и Groovy. Задача  – запускать провижен VM из Jenkins. Пока выполняется только установка NGINX, позже будет добавлен Prometheus. Используем Jenkins Pipeline и groovy-скрипты. Описание Используется два репозитория: один для скриптов Jenkins (переменная $BUILD_REPO_URL в скриптах ниже), второй для файлов Ansbile ($INFRA_URL), в которых описаны хосты… Read More »

Azure: provisioning с Resource Manager, Jenkins и Groovy

09/19/2017
 

 Описание сетапа развёртывания группы ресурсов Azure с одной виртуальной машиной для будущего мониторинга проекта. В этой части – создание Azure Resource Manager шаблона, настройка Jenkins и примеры Groovy скриптов. Далее – провижен NGINX и Prometheus с Ansbile. Ещё позже – Grafana. Все файлы и скрипты хранятся в Github. Подготовка Используем готовый шаблон от Azure отсюда>>>.… Read More »

Linux: C – адресное пространство процесса

09/17/2017
 

 Адресное пространство процесса на примере программы на C. Используемые утилиты и файлы: size /proc/$PID/maps objdump pmap Все примеры выполняются на ОС: С ядром: С использованием gcc:

C: связанные списки

08/28/2017
 

 Связанные списки являются второй по частоте использования структурой данных после массивов. Они являются достаточно простой реализацией динамических структур данных, использующие указатели (pointers) для реализации. Понимание работы указателей является необходимым условием для того, что бы понять связанные списки. Кроме того – требуется понимание динамического выделения памяти и знать, что такое структуры и как ими пользоваться. Ниже… Read More »

Arch Linux: уведомления в Openbox с libnotify

08/23/2017
 

 Надо добавить всплывающее окошко, которое бы по крону выводило какой-то текст на экран. Используем libnofity, выполняем на Arch Linux (хотя принципиальной разницы нет – хоть на Убунте). Документация самого libnotify – тут>>>.

C: структуры

08/21/2017
 

 Структура (structure) в C – коллекция переменных различного типа, доступ к которым возможен по одному и тому же имени. Например, вы хотите сохранить информацию о человеке – его имя, гражданство и зарплату. Вы можете создать переменные name, citizenship, salary и хранить информацию в них. Но что, если вам потребуется хранить информацию о нескольких людях? Можно… Read More »