Рубрика «docker» - 29

Интро

Всем привет! Сегодня я расскажу вам о том, как с помощью PHP можно работать с Selenium.

Чаще всего это бывает необходимо, когда перед вами стоит задача написать автотесты для web интерфейса или свой парсер/краулер.

С Википедии

«Selenium — это инструмент для автоматизации действий веб-браузера.
В большинстве случаев используется для тестирования Web-приложений, но этим не
ограничивается. В частности, реализация Selenium WebDriver для браузера phantomjs
часто используется как веб-граббер.»

Мы рассмотрим следующие нюансы:

  • Использование Behat/Mink для соединения с Selenium
  • Запуск Selenium в docker, и удаленный доступ по VNC
  • Расширим функционал Behat с помощью Extension Feature

Читать полностью »

В этой статье я расскажу о том, как я решал задачу об интеграции в тестовом режиме с сервисами, которые работают с использованием алгоритмов, определенных ГОСТ Р 34.10-2001 (устарел) и ГОСТ Р 34.10-2012. Приведу примеры некоторых проблем, с которыми столкнулся при решении задачи, дам ссылки на готовое решение и покажу несколько примеров их использования.

Читать полностью »

Для передачи данных сервером на php клиенту можно использовать следующий алгоритм:

  1. Сервер php публикует данные в канал redis.
  2. Сервер node подписывается на события в соответствующем канале redis и при
    наступлении события поступления данных публикует эти данные уже в
    socket.io
  3. Клиент подписывается на сообщения socket.io и обрабатывает их при поступлении

Исходный код проекта можно найти на github

Читать полностью »

Когда я расположил приложение в Docker-контейнере и попробовал отправить email на почтовый сервер в другом Docker-контейнере, столкнулся с непредвиденной проблемой. Почтовый сервер postfix по умолчанию отправляет почту на произвольный домен получателя только от локального клиента. Все остальные домены нужно прописывать в параметре relay_domains, и если параметр mynetwors настроен правильно, то почта будет отправляться на перечисленные в параметре relay_domains домены с клиента из mynetwors.

В принципе, мне этого было достаточно, т.к. приложение теоретически должно было отправлять почту на ровно один корпоративный почтовый сервер. Но такое решение меня не очень устраивало, потому что задача может поменяться в любой момент. Поэтому, я попытался настроить sasl-авторизацию, которая позволяет отправять почту авторизованным пользователям на произвольный домен.
Читать полностью »

Linux-дистрибутив from scratch для сборки Docker-образов — наш опыт с dappdeps - 1

Сборка образов для Docker на основе базового образа, как правило, предполагает вызов команд в окружении этого базового образа. Например — вызов команды apt-get, которая есть в базовом образе, для установки новых пакетов.

Часто возникает необходимость доустановить в базовую систему некоторый набор утилит, с помощью которых происходит установка или сборка некоторых файлов, которые требуются в итоговом образе. Например, чтобы собрать Go-приложение, надо установить компилятор Go, положить все исходные коды приложения в базовом образе, скомпилировать требуемую программу. Однако в итоговом образе требуется лишь скомпилированная программа без всего набора утилит, который использовался для компиляции этой программы.

Проблема известная: одним из путей её решения может быть сборка вспомогательного образа и перенос файлов из вспомогательного образа в результирующий. Для этого появились Docker multi-stage builds или образы-артефакты в dapp. И данный подход идеально решает проблему подобную переносу результатов компиляции исходных кодов в итоговый образ. Однако он не решает все возможные проблемы…
Читать полностью »

Дождались: поддержка YAML и Ansible (без коров) в dapp - 1

В начале этого года мы посчитали, что наша Open Source-утилита для сопровождения процессов CI/CD — dapp версии 0.25 — обладает достаточным набором функций и была начата работа над нововведениями. В версии 0.26 появился синтаксис YAML, а Ruby DSL был объявлен классическим (далее перестанет поддерживаться вовсе). В следующей версии, 0.27, основным нововведением можно считать появление сборщика с Ansible. Пришло время рассказать об этих новинках подробнее.
Читать полностью »

Добрый день!

21 марта в офисе IBM пройдет митап сообщества Kubernetes.
https://www.meetup.com/Enterprise-Containers/events/248693819/
В рамках данного мероприятия планируется обсудить последние новости о развитии Kubernetes, обменяться практическим опытом и пообщаться в неформальной обстановке.
На данном мероприятии выступит Phil Estes, архитектор по облачным и открытым технологиям в IBM, Docker Captain (выступление на английском языке).
Читать полностью »

Зачем это нужно?

Долгое время все проекты нашей компании работали на PHP5, и вот возникло желание их ускорить путём перехода на PHP7, попутно обновиви всё окружение, необходимое для работы. Сразу возник вопрос: «Как заставить разные проекты работать на разных версиях PHP?»

Что пришло в голову:

  1. Содержать 2 разных сервера
  2. Использовать виртуальную машину
  3. Применить Docker

Вариант 1, очевидно экономически не выгоден. Вариант 2 мы посчитали сложным в настройке и слишком ресурсоёмким. С этим многие, наверное, не согласятся, однако, мы приняли решение использовать технологию Docker, ввиду её легковесности и простоты переноса приложений. Главным критерием выбора стало то, что Docker решает проблему «works on my machine».
Читать полностью »

Сказать, что для Docker'а 2017 год выдался тяжёлым, было бы преуменьшением. Не могу вспомнить ни одного столь раскрученного и хорошо обеспеченного деньгами стартапа из Долины, кроме Uber'а, который бы провёл 2017 год так же невнятно, как Docker. 2017 стал тем годом, когда Docker, великолепный образчик программного обеспечения, был полностью уничтожен плохим бизнес-управлением. Эта заметка — сторонний взгляд на то, как и где Docker пошёл не туда, и как попытки что-либо исправить оказались слишком слабыми и запоздалыми.

Докер мертв - 1

Читать полностью »

Привет! В Microsoft я специализирусь на архитектуре облачных систем и мне часто прилетает вопрос: «Как запустить контейнеры в облаке?» На самом деле, существует очень много вариантов того, как это можно сделать в Azure, и бывает сложно представить общую картину всех возможностей. Поэтому мы решили собрать всё воедино и снять короткое видео, в котором я рисую схему возможностей для запуска контейнеров в Azure от IaaS вариантов до CaaS и специализированных CaaS. А под катом вы найдёте последний анонс по этой же теме.


Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js