Установка второго агента TeamCity на сервер

Иногда более продуктивно установить на один сервер несколько агентов TC. Для этого:

  1. Качаем инсталлятор и запускаем установку. В процессе устновки нужно изменить путь(c:\buildagent2\) и снять галку с поля «установить сервис». В окне настройки поменять ownPort на другой.
  2. Редактируем файл c:\buildagent2\launcher\conf\wrapper.conf. Скроллим вниз и меняем имя сервиса, описание и тд.
  3. Переходим в каталог c:\buildagent2\launcher и выполняем в консоли команду ..\bin\service.install.bat от администратора.
  4. Запускаем второго агента
  5. Профит

Конвертирование сертификатов (PEM/P7B/PFX/DER)

Форматы сертификатов можно менять при помощи команд OpenSSL или посредством инструментов Конвертор SSL. Есть еще отличный online-конвертер.

Ниже указаны наиболее употребляемые комманды:

I. Конвертирование файлов PEM
PEM в DER
openssl x509 -outform der -in certificate.pem -out certificate.der
PEM в P7B
openssl crl2pkcs7 -nocrl -certfile certificate.cer -out certificate.p7b -certfile CACert.cer
PEM в PFX
openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt

II. Конвертирование файлов P7B
P7B в PEM openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
P7B в PFX
openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer openssl pkcs12 -export -in certificate.cer -inkey privateKey.key -out certificate.pfx -certfile CACert.cer

III. Конвертирование файлов PFX
PFX в PEM
openssl pkcs12 -in certificate.pfx -out certificate.cer -nodes

IV. Конвертирование файлов DER
DER в PEM
openssl x509 -inform der -in certificate.cer -out certificate.pem

Источник: https://ssl4less.ru/faq/ehniceskie-voprosy/onvertirovanie-sertifikatov-pem-p7b-pfx-der.html

AutoMerge Script for Bitbucket.org

В рамках автоматизации одного проекта написал скрипт на PowerShell, который мержит ветки используя bitbucket API. Огромный плюс использования этого скрипта для автоматического мержа в том, что вам не нужно вытягивать исходники. Все делается на стороне bitbucket. Не все идеально, где то можно оптимизировать, но он работает =)

https://github.com/voiplab/Misc/blob/master/RemoteMergeBitbucket.ps1

Нагрузочное тестирование Elastix / NEOPbx / FreePBX / Asterisk

В данной заметке я расскажу вам про то, как вы можете своими силами организовать базовое нагрузочное тестирование с помощью утилиты sipp. Итак, качаем и устанавливаем последнюю версию:

После успешной установки переходим к конфигурированию Elastix / NEOPbx / FreePBX. Я покажу пример подготовки к тестированию через WEB-интерфейс. Итак, первое, что необходимо сделать — это создать номер(Extension).  Если у вас уже есть существующий номер, который вы используйте, то можно пропустить этот шаг. Переходим во вкладку PBX > PBX Configuration > Extensions и жмем кнопку Submit, чтобы создать номер. Он нам понадобится для того, чтобы проверить что прохождение dialplan-а проходит как запланировано.

Далее необходимо создать номер

192.168.1.53 — сервер Elastix / NEOPbx / FreePBX;
-s 8000 — Указывает номер который будет вызван. Может быть числом или текстом. (Значение по умолчанию — service);
-i 192.168.1.67 — Локальный IP адрес. Этот адрес будет использован в SIP сообщениях в качестве адреса источника сообщений. (По умолчанию — 127.0.0.1);
-d 1h — Устанавливает длительность звонков. В данном случае звонки будут длиться 2 часа. (По умолчанию — 1 секунда);
-l 50 — Ограничивает максимальное количество одновременных звонков;
-aa — Включает автоматические ответы 200 OK на сообщения INFO, UPDATE и NOTIFY;
-mi 192.168.1.67 — Устанавливает локальный IP для RTP;
-rtp_echo — Включает режим RTP эха. Все RTP пакеты полученные от удалённой стороны — отправляются обратно;
-nd — Отключает стандартную обработку неожиданных ситуаций — sipp будет прерывать звонки в случае получения неправильных SIP сообщений;
-r 5 — Устанавливает максимальную «скорость звонков» (CPS) в данном случае — не более 5 звонков в секунду.

SMS2Mail Forwader

Screenshot_2015-10-22-22-36-13

Сидел я вечером, пил чай с баранками и решил себя попробовать в роли Android Developer’а. Получилось у меня или нет — судить вам.

sms3-03

Итак, задача написать приложение которое пересылает все входящик СМС на указанный почтовый ящик. Естественно, основной функциаонал должна делать служба в фоне. А именно отслеживать входящие СМС и отправлять их на почтовый адрес. Ну и нужно было чтобы служба эта запускалась автоматически при включении/перезагрузке телефона.

Начал я с придумывания дизайна. Основное требования — максимальный минимализм =D. В результате получился вот такой макет, который вы видите слева.

Покодив пару вечеров получилась вот такая незамысловатая программа, скачать которую можно из Play Market: SMS2Mail Forwarder.

Кстати, хотел бы поблагодарить своего дизайнера Оксану Котибенко, которая вдохновившись идеей «для народа все должно быть Free«, нарисовала мне замечательное лого для приложения

Пишем логи IIS в MSSQL

Цель: организовать хранилище логов IIS под управлением MSSQL.

Условия:

  • Для удобного поиска (SELECT’а) по времени значение date и time должны храниться в одном поле
  • Каждая запись должна иметь уникальный ключ
  • При переносе логов в MSSQL должен использоваться BULK insert.
  • Вставка логов производится за предыдущий день.

Сразу оговорюсь, что напрямую писать логи в MSSQL не используя сторонний софт не получится. Поэтому я написал небольшую консольную программу IIS2SQL, которая удаляет из файла лога закомментированные строки и форматирует поля date и time в одно поле для дальнейшей bulk-вставки. У Microsoft есть аналогичная программа preplog, но она только удаляет закомментированные строки.

Итак, давайте для начала включим логирование в формате W3C. Я включу логирование для всех своих сайтов. В настройках вы можете указать необходимые поля для логирования.

Теперь необходимо создать необходимую базу и таблицу. Если вы уже гуглили данный вопрос, то обратили внимание, что в сети есть куча руководств и структура таблиц в них может отличаться. Поэтому мы будем делать свою таблицу на основании логов которые нам отдает IIS. Открываем любым текстовым редактором (лучше блокнот не использовать,т.к. велика вероятность что он зависнет) файл логов и смотрим на 3 строку. В ней мы и найдем заголовки полей, которые нам необходимо будет создать.

В моем случае это #Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status time-taken. Не забывайте, что одно из условий было объединение полей date и time, поэтому создадим соотвествующую табличку. Обратите внимание на то, что я в таблицу добавил автоинкрементное поле Id.

Проблема в том, что если формат лога не соответствует вашей таблице, то BULK-insert из файла не получится. Поэтому вставку в таблицу мы будем делать во View. Создадим новый View для этой БД, исключив поле Id.

Теперь вернемся к программе, которую я написал. Скачайте IIS2SQL и распакуйте в любой удобный каталог на сервере MSSQL. Если один сервер для MSSQL и IIS, то можно сразу запустить программу и поместить в планировщик заданий. А если нет, то вам надо будет каким то образом логи передать на сервер MSSQL. Напрямую с сервера IIS BULK сделать не получится. На сервере IIS создайте пользователя и расшарьте каталог с логами. А на сервере MSSQL напишем скрипт и поместим его выполнение в планировщик. Чтобы сервер сильно не нагружать, лучше настроить выполнение ночью.

Параметры для запуска IIS2SQL:

Вот сам скрипт:

Вот в принципе и все! Удачи!