Как я автоматизировал себе рутину — и получил за это выговор вместо спасибо
Есть такая боль, знакомая, наверное, каждому, кто работает с тестовыми стендами: половину рабочего времени тратишь не на саму работу, а на то, чтобы до неё добраться. Разворачивание машины, подключение сетевых шар, установка пакетов — рутина, которая существует не потому что она нужна, а потому что так исторически сложилось.
Как это было раньше
Мой обычный сценарий выглядел примерно так:
разворачиваю машину в Proxmox;
лезу в консоль Proxmox, правой кнопкой мыши открываю консоль;
в браузере ищу кнопку, которая скачивает файл для запуска SPICE;
через SPICE захожу на машину;
авторизуюсь;
запускаю скрипт, подготовленный devops-инженерами;
снова ввожу креды — окей, шары подключены;
копирую нужный дистрибутив с сетевых шар на машину;
запускаю установку, ввожу пароль sudo;
ещё раз ввожу пароль по ходу установки;
жду. Пакет установлен.
Десяток шагов, три раза пароль, ручной поиск нужного дистрибутива по сетевым папкам. И так — на каждую машину, каждый раз.
Как стало
В какой-то момент я не выдержал и "навайбкодил" программу под себя . Не потому что мне поручили, а потому что достало.
Сейчас сценарий такой:
разворачиваю машину;
запускаю программу, добавляю машину в список;
правой кнопкой — «Подготовить машину». Через несколько секунд шары подключены и прописаны в fstab, добавлены нужные алиасы и пакеты — всё, что я один раз настроил в параметрах;
проверяю в настройках источник сборки — источник выбирается несколькими кликами, без блуждания по файловой системе;
в списке машин выбираю нужную, правой кнопкой — «Установить сервер».





Макет программы
Профит. Пакет установлен.
Заодно я добавил удаление сервера, клиента и других компонентов — тоже в два клика, с проверкой по логу, что всё прошло штатно. И отдельно — проверку установленных компонентов и их версий: когда работаешь одновременно с десятком машин, немудрено запутаться, кто и в каком состоянии, а тут всё как на ладони.
Никакой магии. Просто программа, которая берёт на себя то, что раньше я делал руками, по памяти, каждый раз одинаково нудно.
Реакция
Показал руководителю разработки. Ожидал в лучшем случае равнодушное «ну ладно, пользуйся», в худшем — тишину.
Получил вместо этого вопрос: а зачем ты это вообще сделал? У нас есть свой продукт, его нужно развивать, вноси предложения туда.
Справедливости ради: продукт у них действительно есть, веб-приложение. Пересекается оно с моим инструментом ровно в одной точке — оба умеют ставить пакет сервера. На этом сходство заканчивается. Их система умеет ещё и делать первоначальную настройку, строить иерархию серверов — но именно строить, с нуля, в несколько шагов через формы: указать сервер, версию, подчинённые сервера и клиентов, запустить и ждать минут двадцать. И если за эти двадцать минут случится любая ошибка — хоть критическая, хоть совершенно необязательная вроде сбоя активации — процесс просто фейлится целиком.
Мой инструмент устроен для другой задачи. Он не строит иерархию — он обслуживает уже готовый стенд: разворачивает, ставит, проверяет, чистит. Это разные продукты с разным назначением, и мне казалось, объяснить это будет несложно.
Не вышло. Мне сказали, что я, по сути, скопировал их функционал, «навайбкодил» то же самое своими руками.
Что я об этом думаю
Переубедить его не удалось. И чем дольше я об этом думаю, тем больше мне кажется, что дело не в функционале и не в пересечении задач — вопрос чисто политический.
Может быть, дело в том, что рядовой тестировщик сам, без чьего-либо поручения, взял и сделал рабочий инструмент — и этим невольно обесценил труд разработчиков, которые официально отвечают за автоматизацию. Раз тестировщик может сам, зачем тогда команда разработки?
Я не знаю наверняка, что здесь сыграло роль. Знаю только одно: я продолжаю пользоваться своим инструментом каждый день, и он реально экономит мне часы и нервы. И если кому-то моё «навайбкоженное» решение так мешает — вопрос, наверное, не ко мне.












