По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Основная цель любого проекта по разработке ПО – получить прибыль за счет автоматизации бизнес-процессов. Чем быстрее вы начнете выпускать новые версии, тем лучше для компании. Но как же научиться выпускать новые версии максимально быстро? Конечно же, все можно делать вручную. Например, подключить удаленный сервер через SSH, клонировать клонировать репозиторий с новым кодом, собрать его и запустить через командную строку. Да, такой способ работает, но он малоэффективен. Сегодня мы поговорим об автоматизации процесса разработки и выхода новых версий. CI и CD – это два сокращения, которые означают Continuous Integration (Непрерывная интеграция) и Continuous Delivery (Непрерывное развертывание). CI CI описывает процесс добавления изменений в репозиторий. Ниже схематически представлен простой пример коллективной разработки. Одновременно может работать целая группа людей, но все изменения передаются в главную ветку master поэтапно. Хотя даже в такой простой схеме возникает несколько вопросов. Как мы узнаем, что код, который идет в ветку master, компилируется? Мы хотим, чтобы разработчики писали тесты для кода. Как быть уверенными в том, что тестовое покрытие не уменьшится? Все сотрудники команды должны форматировать код в соответствие с определенным стилем. Как отследить возможные нарушения? Конечно же, все это можно проверить вручную. Но такой подход весьма хаотичен. Кроме того, по мере разрастания команды выполнять подобные проверки становится сложнее. CI используется для автоматизации выше обозначенных пунктов. Начнем с первого пункта. Как можно проверить, что новые изменения не сломают сборку? Для этого нам потребуется еще один блок в схеме. Большинство CI-процессов можно описать по следующему алгоритму. При открытии каждого Pull Request (запроса на включение изменений) и отправке новых изменений, Git-сервер отправляет уведомление CI-серверу. CI-сервер клонирует репозиторий, проверяет исходную ветку (например bugfix/wrong-sorting) и сливает ее с основной веткой master. Затем запускается скрипт сборки. Например ./gradlew build. Если команда возвращает код «0», то сборка прошла успешно. Все остальные значения считаются ошибкой. CI-сервер отправляет запрос на Git-сервер с результатом сборки. Если сборка прошла без ошибок, то Pull Request разрешается слить. В противном случае он блокируется. Данный процесс гарантирует, что код, попадающий в ветку master, не сломает дальнейшие сборки. Проверка тестового покрытия Давайте немного усложним задачу. Предположим, нам захотелось установить минимальный охват тестового покрытия. Это означает, что в любой момент времени покрытие ветки master должно быть не менее 50%. Плагин Jacoco идеально справляется с этой задачей. Вы просто настраиваете его так, чтобы при охвате тестового покрытия ниже допустимого, сборка уходила в ошибку. Реализовать такой подход проще некуда. Но есть небольшая оговорка. Этот метод работает только при условии, что плагин настраивался на старте проекта. Представим ситуацию: вы работаете над проектом, которому уже 5 лет. С момента первого коммита никто не проверял тестовое покрытие. Разработчики добавляли тесты в случайном порядке и без какой-либо организации. Но вот однажды вы решаете увеличить количество тестов. Вы настраиваете плагин Jacoco на минимальную планку в 60%. Спустя какое-то время разработчик открывает новый Pull Request. Затем разработчики вдруг понимают, что покрытие – всего лишь 30%. Так что для успешного закрытия задачи нужно покрыть не менее 30% кода продукта. Как вы можете догадаться, для проекта 5-летней давности – это практически неразрешимая проблема. Но что, если будут проверяться только будущие изменения в коде, а не весь продукт? Если в Pull Request разработчик изменит 200 строк, то нужно будет охватить не менее 120 из них (при тестовом покрытии в 60%). Тогда не придется проходить по множеству модулей, которые не относятся к задаче. В принципе, проблема решаема. Но как применить все это к проекту? К счастью, есть решение. Отчет Jacoco отправляется на сервер тестового покрытия. Одно из самых популярных решений – SonarCloud. Сервер хранит статистику по предыдущим вычислениям. Это очень удобно: вычислять тестовое покрытие не только всего кода, но и будущих изменений. Затем результат анализа отправляется на CI-сервер, который перенаправляет его на Git-сервер. Такая рабочая модель позволяет применять культуру обязательного тестирования на любой стадии развития продукта, поскольку проверяется лишь часть изменений. Если говорить о стиле оформления кода, то отличий практически нет. Можете попробовать плагин Checkstyle. Он автоматически отклоняет сборку, которая нарушает любое из заявленных требований. Например, в коде есть неиспользованный импорт. Кроме того, вы можете присмотреться к облачным сервисам, которые выполняют анализ кода и визуально отображают результаты в виде графиков (SonarCloud это тоже умеет). CD CD описывает процесс автоматического развертывания новой версии продукта. Давайте еще немного подкорректируем схему CI. Вот так конвейерный процесс CI/CD мог бы выглядеть в реальном проекте. Первое отличие – теперь CI-сервер называется CI/CD-сервером. Дело в том, что зачастую оба процесса (CI и CD) выполняются одним и тем же диспетчером задач. Так что мы будем рассматривать именно этот случай. Но так бывает не всегда. Например, задачи по интеграции могут делегироваться на GitLab CI, а задачи по доставке – отдаваться в Jenkins. Правая часть схемы изображает CI. Мы обсудили ее выше. Слева показана CD. Задача по CD создает проект (или повторно использует артефакты, полученные на стадии CI) и развертывает его на конечном сервере. Стоит отметить, что сервер в нашем случае – это понятие абстрактное. Например, развертывание может выполняться в кластер Kubernetes. Так что самих серверов может быть несколько. Обычно после стадии развертывания на почту приходят сообщения о выполнении. Например, CD-сервер может уведомлять подписчиков об успешном развертывании/ошибках. В любом случае, возникает важный вопрос. В какой момент мы должны запускать задачи по CD? Триггеры могут быть разными. Развертывание после каждого слияния Pull Request. Развертывание по расписанию. Развертывание после каждого слияния Pull Request с определенной веткой. Сочетание нескольких вариантов. В первом пункте процесс выстроен так, что задачи по CI и CD всегда выполняются последовательно. Данный подход весьма популярен при разработке программ с исходным кодом. Библиотека Semantic Release помогает настроить проект для прозрачной интеграции данной модели. Важно помнить о трактовке понятия deploy (развертывание). Это не всегда «что-то где-то запустить». Например, при разработке библиотеки, нет никакого запуска. В данном случае процесс развертывания означает выпуск новой версии библиотеки. Второй пункт не зависит от процесса CI, ведь проект развертывается по определенному расписанию. Например, ежедневно в 01:00. Третий пункт аналогичен первому, но с небольшими отличиями. Предположим, в репозитории у нас есть 2 основные ветки: develop и master. В develop содержатся самые последние изменения, а в master – только релизы версий. Если мы хотим развертывать только ветку master, то не нужно вызывать CD-задачу по слиянию в develop. Последний пункт – это сочетание подходов. Например, ветку develop можно развертывать по расписанию в среду разработки. А ветку master – в реальную среду по каждому слиянию Pull Request. Инструменты На рынке доступно множество решений по автоматизации процессов CI/CD. Ниже представлено несколько продуктов. Jenkins. Один из самых востребованных инструментов CI/CD в мире. Свою популярность он заслужил, благодаря политике открытого кода (open-source). То есть вам не нужно ни за что платить. В Jenkins вы можете императивно описывать конвейеры сборки с помощью Groovy. С одной стороны это достаточно гибкое решение, но с другой – требует более высокого уровня квалификации. GitHub Actions. Этот инструмент для CI/CD доступен для GitHub и GitHub Enterprise. В отличие от Jenkins, GitHub Actions предлагает декларативные сценарии сборки с YAML-конфигурацией. Кроме того, в данном решении доступна интеграция с различными системами обеспечения качества (например SonarCube). Таким образом, сборку можно описать в нескольких текстовых строках. GitLab CI. Во многом похож на GitHub Actions, но со своими особенностями. Например, GitLab CI может указывать на определенные тесты, вызывающие ошибку в сборке. Travis CI. Облачный CI/CD-сервис. Предлагает множество возможностей, не требующих сложных настроек. Например, шифрование данных, которые следует скрыть в публичном репозитории. Есть и приятный бонус в том, что Travis CI можно совершенно бесплатно использовать в публичных open-source проектах на GitHub, GitLab и BitBucket.
img
Модуль конференций в FreePBX 13 используется для создания внутреннего номера , конференц – комнаты, при звонке на который пользователи могут общаться в режиме конференции. Помимо прямого набора, секретарь может осуществить трансфер пользователя напрямую в конференц – рум. Давайте разберемся с настройкой данного модуля в FreePBX 13 Пошаговое видео Настройка Перейдем к настройке. Откроем вкладку Applications -> Conferences. Нажимаем кнопку Add чтобы добавить новую комнату Откроется настройка конференц – рума. Давайте разберемся подробнее с каждой из настроек: Давайте разберемся с опциями настройки: Conference Number - Данный номер используется для присоединения к конференции Conference Name - Имя для данной конференц – комнаты. Имена необходимы для удобства администрирования. Например, комнату можно назвать Support или Managers User PIN - Это необязательное поле. Если вы хотите обеспечить приватность для комнаты, то вы можете назначить ей пароль. При звонке на номер комнаты, у пользователя будет запрошен пароль для подключения, который он должен будет ввести на телефонном аппарате. Данный PIN должен отличаться от PIN`a администратора. Admin PIN - При вводе данного пин – кода, пользователь будет идентифицирован как лидер в данной комнате Join Message - Голосовое сообщение, которое будет проигрываться пользователю при подключении к данной комнате. Данные голосовые файлы настраиваются в разделе System Recordings Leader Wait - Если данная опция отмечена, то конференция не начнется до того как не подключиться лидер комнаты (с PIN – кодом админа) Talker Optimization - Данная опция позволяет глушить звук от пользователи, которые не говорят в данный момент. Это позволяет изолировать посторонние шумы на фоне говорящего. Talker Detection - Если данная опция включена, то при начале разговора, Asterisk будет идентифицировать канал докладчика и передавать события в AMI. Quiet Mode - Если данная опция включена, то пользователям не будут проигрываться звуковые сообщения при подключении и отключении от конференции. User Count - Объявлять ли текущее количество пользователей в конференц – комнате при подключении нового пользователя. User Join/Leave - Если данная опция активирована, то при подключении, система будет запрашивать имя пользователя (произнести его). Далее, после того как пользователь подключился, ему и прочим далее подключающимся пользователям будут озвучены имена участников данной комнаты. Music on Hold - Играть ли музыку, когда в данной комнате только один пользователь. Music on Hold Class - В данном пункте можно выбрать музыку, которая будет проигрываться для пользователей пока они буду ожидать начала конференции. Allow Menu - Отправлять ли пользователя в Meetme меню (будет описано ниже) при нажатии `*`. Record Conference - Записывать ли данную конференцию Maximum Participants - Максимальное количество пользователей в данной комнате. Значение «0» в данном поле означает неограниченное количество пользователей. Mute on Join - Если данная опция выбрана, то при подключении нового пользователя, у него будет отключена возможность говорить в комнату. ВАЖНО Если вы не являетесь лидером в данной комнате, то чтобы получить возможность вести разговора в данной конференц – комнате, вам необходимо включить доступ к меню MeetMe (опция Allow Menu), чтобы пользователь имел возможность включиться в беседу. Прочие опции - Другие опции зависят от установленных на вашему Asterisk модулей. Например, вы сможете добавить вашу комнату конференции в систему управления звонками iSymphony. По окончанию настройки, нажмите Submit, а затем Apply Config. Давайте разберемся, какое меню доступно для пользователя конференц комнаты при нажатии «*», если это разрешено опцией Allow Menu Цифра на телефоне Действие от лидера комнаты Действие от обычного пользователя 1 Включить/выключить звук у себя Включить/выключить звук у себя 2 Заблокировать/разблокировать конференцию Недоступно 3 Удалить из конференции последнего подключившегося пользователя Недоступно 4 Уменьшить громкость звука в конференции Та же опция, применимая к собственным настройкам пользователя 5 Сбросить громкость на настройки по умолчанию Та же опция, применимая к собственным настройкам пользователя 6 Увеличить громкость звука в конференции Та же опция, применимая к собственным настройкам пользователя 7 Уменьшить громкость вещания (громкость от говорящего) Та же опция, применимая к собственным настройкам пользователя 8 Покинуть меню Та же опция, применимая к собственным настройкам пользователя 9 Увеличить громкость вещания (громкость от говорящего) Та же опция, применимая к собственным настройкам пользователя 0 Позволяет администратору выключать/включать звук у всех пользователей конференции Недоступно * Озвучить возможные опции в меню Та же опция, применимая к собственным настройкам пользователя # Покинуть конференцию Покинуть конференцию Таким образом, мы разобрались как настраивать конференции в FreePBX13
img
ИТ-среда является основой для функционирования многих предприятий. Постоянное управление позволяет быстро обнаруживать и исправлять любые ошибки и обеспечивать безопасность определенной области. ИТ-мониторинг - что это значит? Мониторинг ИТ-инфраструктуры - это набор действий, которые позволяют наблюдать за ИТ-средой, осуществляемой с целью получения информации о функционировании инфраструктуры, систем и приложений. Это решение для любой компании, у которой есть хотя бы один компьютер. Более того, этот метод защиты ИТ-систем должен заинтересовать даже небольшое предприятие, которое заботится о безопасности собранных данных, цифровых документов и корпоративной информации. Мониторинг ИТ-инфраструктуры можно разделить на: Реактивный мониторинг - решения, благодаря которым можно быстро обнаруживать сбои с одновременным указанием источника проблемы и возможностью информирования о ней конкретных людей или систем. Проактивный мониторинг - основан на анализе собранных данных и прогнозировании поведения выбранных компонентов на их основе, что позволяет исключить нежелательные события в будущем. 7 преимуществ использования IT-мониторинга 1. Непрерывный мониторинг ИТ-систем Преимущество использования защиты и контроля ИТ-инфраструктуры на предприятии позволяет точно контролировать отдельные процессы в режиме реального времени. Услуга может включать мониторинг приложений, сетевых служб (например, POP3 или HTTP), использование системных ресурсов (системные журналы, процессоры) или управление событиями и тенденциями. 2. Быстрая информация об угрозе В зависимости от выбранной опции системы уведомлений отдельные программы могут уведомлять администратора о возникающей угрозе, например, по электронной почте, SMS или другими сообщениями. Благодаря контролю в режиме реального времени можно быстро получать информацию и так же быстро реагировать на любые проблемы. 3. Мониторинг пользователей Система ИT-мониторинга позволяет контролировать деятельность сотрудников на оборудовании компании. Это не только повышает безопасность, но иногда и эффективность сотрудников. Некоторые системы также позволяют отслеживать действия удаленных работников. 4. Комфорт работы Помимо контроля со стороны работодателя, сотрудники, работающие на оборудовании компании, могут чувствовать себя более комфортно на работе благодаря различным функциональным возможностям и гарантиям безопасности конкретной системы или устройства. Более того, благодаря профессиональному ИТ-сервису риск простоев и потерь бизнеса сводится к минимуму. 5. Безопасность данных Процесс мониторинга ИТ-инфраструктуры также защищает от утечки или потери важных данных с компьютеров и серверов компании. Это защита от ошибок пользователя и попытки кражи корпоративных данных. 6. Система отчетности Профессиональный мониторинг ИТ-инфраструктуры позволяет формировать отчеты о частоте отказов отдельных областей ИТ-инфраструктуры и на их основе создавать процедуры обслуживания и устранять возможные ошибки. 7. Оптимизация затрат Благодаря профессиональному мониторингу ИТ можно эффективно оптимизировать расходы на предприятии. Предотвращение поломок на работе исключит возможные простои в работе предприятия. Это также означает снижение затрат на возможный ремонт или дополнительные ИТ-операции. Мониторинг системного журнала Контроль ИТ-инфраструктуры позволит обнаруживать возможные угрозы и предотвращать их. Важность управления журналами для безопасности данной организации чрезвычайно высока. Особенностью всех ИТ-систем является то, что они сохраняют логи. Без них часто было бы невозможно контролировать ИТ-инфраструктуру, а также находить причины сбоев и решать конкретные проблемы. Системные журналы могут быть собраны и проанализированы, что часто позволяет обнаружить потенциальную опасность или реальную угрозу для компании. Мониторинг сетевых устройств Он заключается в управлении сетевым трафиком, то есть чтении количества переданных битов на данном порту. Статусы портов и нагрузка на устройство также важны для ИТ-администратора. Мониторинг сервера Проверка включает проверку загрузки ресурса: процессоров, оперативной памяти или жесткого диска. Мониторинг приложений Деятельность направлена на лучшую оптимизацию работы данного устройства. Мониторинг касается доступности самого приложения с различными протоколами или портами и времени отклика отдельных функциональных возможностей приложения. Контролируется вся инфраструктура, от устройств до уровня приложений. Это комплексное решение, которое выбирают все больше и больше компаний. Управление ИТ-ресурсами Измерение, получение информации, анализ и выводы на этой основе являются рядом факторов, которые составляют профессиональный мониторинг ИТ. Нужны опытные специалисты и проверенные инструменты мониторинга, которые позволяют вам управлять производительностью и событиями в рамках определенных ресурсов. Поэтому такие процессы являются неотъемлемыми элементами ИТ-инфраструктуры. Преимущества мониторинга ИТ-инфраструктуры включают в себя: Эффективное предотвращение неправильного использования ресурсов; Защита активов компании - как от людей, которые имеют к ним доступ, так и от атак в киберпространстве; минимизация риска; Быстрая возможность выявления ошибок в определенных областях ИТ-инфраструктуры и их эффективное устранение. Правильный выбор решений, их правильная реализация и конфигурация позволяют быстрее находить возможные проблемы и удалять их источники. Надежная ИТ-инфраструктура должна быть основой любого предприятия - как маленького, так и крупного.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59