Pull to refresh

Comments 69

Когда планируете добавить битбакет?
Круто, что платишь только за время прогона тестов! Нафиг подписки!
Пользуюсь wercker.com и он отлично себя зарекомендовал. Бесплатный (по крайней мере пока), и можно закрытые проекты в нем запускать. И для Open source он будет оставаться бесплатным. Очень много готового. Ни одного из минусов описанного в статье
У Wrecker есть минус — он не работает с GitLab, но, зато, поддерживает нотификации в hipchat, что очень круто.
2 concurrent builds?
на вексоре сколько угодно параллельных билдов
Arilas, Wrecker хороший сервис. Полагаю, что существенное отличие – в приницпах ценообразования. Когда он перестанет быть «бета», он станет платным и «по подписке». Как думаете, сколько будут стоить те самые 2 concurrent builds, которые сейчас предлагают бесплано?

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

Спасибо большое, стараемся!
А вот если выбросить маркетинг из статьи, что там в техническом плане внутри? И еще кажется вы давно не обновляли бложик…
vaniaPooh Спасибо за ваш вопрос. Это наш первый пост, ознакомительный. На будущей неделе обязательно расскажем о технических подробностях и о том, что внутри! Подписывайтесь на блог, ставьте лайки, не переключайте канал ;)
ekho Честно говоря, мы начали разработку Vexor после того, как поняли, что тревис – оооочень дорогой. Начинающие проекты просто не могут себе позволить платить сразу 129 долларов в месяц, а проекты покрупнее влетают в $489 в месяц. В тревисе вы покупаете определенное количество «Concurrent Jobs». Вас ограничивают, вы платите за них даже тогда, когда ничего не разрабатываете.

В Vexor – молодые проекты, у которых не так много тестов, будут платить не больше $10 – $15, проекты у которых много тяжелых тестов, разумеется дроже, но мы не ограничиваем проекты ничем. Такого понятия, как фиксированное количество «Concurrent Jobs» у нас нет. Если вдруг у вас один билд считается в 5 параллельных потоков и ваша команда в пятницу вечером решила запостить одновременно 10 фич, Vexor развернет для вас 50 воркеров и все быстро прогонит.

Лимитов по ресурсам нет.

Если хотите, проконсультирую вас и расскажу подробности, пишите мне в skype: balbekov_oleh
Ошибочка в моем скайпнейме: balbekov_oleg
Спасибо. Мне достаточно Вашего ответа. Для публичных репозиториев на гитхабе травис кстати бесплатен.

У себя мы используем Bamboo по многим причинам. И вполне довольны выбором.
В чем идет запуск тестов? Докер?
Как конфигурить его?
Что с джангой?

PS скрины лучше делать не на ретиновом макбуке.
> $0.015 per minute

Это на воркера или на весь тест из 8 воркеров?

Поясню: у нас в 4 воркера билд идет 16 минут. Соотвественно ваши 8 воркеров могут нам встать в копеечку )
Azy Максим, спасибо за ваши вопросы. Для стандартных проектов, все работает «из коробки». Давайте я подключу вас в скайп чатик разработчиков. Сможете задать вопросы плюс максимально поможем с настройками.

Предлагаю вам просто попробовать! Кстати, не понял от куда вы взяли историю «8 воркеров». У вас может быть столько воркеров, сколько вам нужно.

Напишите мне в скайп: balbekov_oleg, подскажем, поможем, настроим ;) Уверен, вам понравится.
Прочитал «If you've set up 8 parallel jobs per build» как «you could set up to 8 parallel jobs» :)
ойой, я понял! спасибо большое, мы перепишем, чтобы никто больше ничего не путал.
Да, будет полезно если укажете что нет лимита)
у вас 16 минут тестируется рельсовый проект?
а чего так долго то?

У нас 3000 тестов эрланговского проекта гоняются минуту
Тут надо померяться количеством генерируемых фикстур
bormotov Добрый вечер, действительно какая то ошибка. Бужу команду, сейчас пофиксим!
ради одного меня будить не нужно, я любопытствующий. Нам в ближайшее время SaaS не светит
bormotov m00t Ребята, все починили. Как говорится «мопед не мой», упал сервис intercom и уранил нам регистрацию. Все уже заработало, проверяйте.
Всегда пугает при логине через github, что такие приложения просят сразу же абсолютный доступ ко всем приватным репозиториям.
Helsus Нам нужно реагировать на пуши в ваших ветках и комментировать статус прогона тестов. Для этого требуются права. В планах укультурить диалог добавления проектов, будет удобнее и не так страшно ;)
Извиняюсь за немного оффтопик, а кто что может посоветовать такое же крутое, как Vexor или Travis, но для установки на своё железо? У нас есть ограничение — код пределов нашей сети покидать не должен, поэтому облачные сервисы для нас закрыты.
Envek Давайте пообщаемся? Мы готовы предложить коробочную версию Vexor'a, пишите в скайп: balbekov_oleg
Используем TeamCity от JetBrains. Отлично работает.
А как вы представляете СааС на своем железе? Если ставите себе это уже априори коробка, а не саас
Я могу один билд запустить в 10 потоков для того чтобы быстрее получить фидбек? Скажем у меня есть пак достаточно тяжелых тестов, для которых надо кучу всего поднятого — бд, сервер очередей, несколько vhost-тов в nginx, этот пак выполняется достаточно долго. Поэтому я арендую несколько дроплетов на digitalocean и запускаю на них тесты параллельно, чтобы время билда держать в пределах 10-15 минут. Я могу что-то подобное сделать на вашей системе? К сожалению, логин не работает сейчас, не могу сам посмотреть это в UI.
moot Вы можете запустить один билд в 10 потоков. Мы умеем ставить в тест образы нужный софт, кешировать это, работать с кастомным ПО для тестирования.

Пожалуй, у вас не обычный проект. Давайте обсудим это, как говориться, в кулуарах. Пишите мне в скайп: balbekov_oleg, мы сможем все рассказать, показать, помочь настроить.
Поддерживается ли docker?
Если да, то можно ли билдить и запускать свои приватные докерфайлы?
bibendi Добрый вечер, Михаил. Мы поддерживаем работу с docker'ом. Запускать приватные докерфайлы чуть сложнее и нужно покурить конфиг. Давайте мы вам поможем с этим? Пишите мне в скайп: balbekov_oleg
Добрый день, Игорь.

Пока мы отлаживаем и внедряем другие технологии. Про .Net вы первый упоминаете, будем держать в уме, если количество обращений за .Net'ом возрастет – добавим поддержку.
У поминутной оплаты есть следующий недостаток: отличающаяся стоимость за один и тот же набор действий при разной нагрузке на сервер. А как вы планируете бороться с затянувшимися тестами клиентов в часы пик?

Сейчас я для личных целей использую инстанс jenkins в jelastic. Виртуалка включается при необходимости и тушится в отсутствии нагрузки. Ценник получается минимальный (можно даже сказать, сравнимый). Да, настройка дженкинса ложится на собственные плечи (как, в прочем, и настройка любого сборщика), но в плюсе — приватное окружение.
nitso Спасибо за ваш вопрос.
А как вы планируете бороться с затянувшимися тестами клиентов в часы пик?

Мы используем облачный хостинг. Он дает нам возможность получать неограниченное количество мощностей в любой момент времени, поэтому такого понятия, как «часы пик» нет. Если наши клиенты вдруг захотели очень много считать тестов, мы автоматически купим столько серверов, сколько потребуется, чтобы обработать всех.
настройка дженкинса ложится на собственные плечи

Разумеется, есть категория наших коллег, кто с удовольствием ковыряется с настройкой тестового окружения. Но есть и те, кто с удовольствием переложит заботы по поддержке тестовой инфраструктуры на облачное решение (сопоставимое по цене, как вы упомянули).
Правильно ли я понял, что основная разница у VEROX с конкурентами типа Baboo Cloud это политика ценообразования?
minime У нас два основных преимущества: 1. Политика ценообразования (платишь за реальное использование, а не за месяц), 2. Неограниченные ресурсы, без лимитов. 3. Автоматические масштабирование от нуля… до реально необходимых вам в данную секунду мощностей.

У Baboo Cloud, как вы знаете, есть определенный тариф и лимиты на ресурсы. Вы покупаете фиксированнанное количество «Агентов» и платите за них ежемесячно, в не зависимости от того хвататет вам их или нет или использовали ли вы их в этом месяце вообще или нет.

Большое спасибо за ответ.
Расскажите как определяется, что моему проекту не хватает ресурсов? Грубо говоря в одной «линоде» запущено много клиентов с разными джобами, если я убью диск, что будет с соседями? А, если я его убью на пол часа? Как и чем вы масштабируетесь?
astlock Все очень просто. На этапе инсталяции вашего проекта в Vexor, вы заранее определяете как именно мы будем «гонять» ваши тесты. Если вам на один прогон тестов нужно 4 потока (4 виртуалки, грубо говоря), вы сможете указать это в Vexor'е и вам это будет предоставлено.

Далее, например, ваша команда сделала 5 одновременных коммитов в репозиторий и нужно прогнать ваши тесты для 5 различных ветках/бренчей одновременно (никому же не хочется ждать очереди, всем нужно кодить дальше). Окей, это значит мы запустим для каждого коммита 4 воркера («виртуалки») и прогоним тесты. Всего для этого примера вам будет автоматически предоставлено 20 воркеров («виртуалок») на то время, пока гонятся ваши тесты. Все это, разумеется, автоматически.

Готовы рассказать глубокие технические детали ;) пишите мне в скайп: balbekov_oleg
Спасибо за ответ. Так как я точно не ваш потенциальный клиент, то логичнее попросить бы вас оформить технические детали в виде статьи. Вы столько раз упомянули «облако» и «масштабирование», что техническая статья просто необходима:)
Ох, сколько маркетингового шума. Может продукт и достойный, но меня доводы «как все плохо без него, но как хорошо с нами» не убедили. Я не понимаю, что такого сложного в развертывании TeamCity в облаке и на что там «Вы вынуждены будете тратить в месяц минимум 2 – 4 часа времени разработчика на обслуживание». Вообще там много такого… странного, например «В случае, когда вы сделаете 10 коммитов подряд, ваш open-source CI будет выполнять их последовательно» — это тоже, мягко говоря, неточно. Даже в бесплатном TC дают 3 агента которые будут запускать билды как пожелаете. Что касается выделения облачной мощности по необходимости, то и это прекрасно решается в TC и любом современном облаке. И цена вопроса не так, чтоб уж заоблачная. При вашем плане на 20 коммитов в день за $80 (на мой взгляд он совсем не «гигантский», но скорее «начальный») в виде более вменяемой альтернативы я бы поднял мелкий, но «разгоняемый» инстанс t2.medium, который обойдется в $37/м даже если его не тушить по ночам и не использовать reserved план. А на практике это будет ближе к $15/мес и коммить сколько влезет.

Конечно, когда не хватит бесплатного TC и за него придется платить, то там немалые $$$, но оно того стоит. Из вашего описания я не понял, что именно этот сервис умеет делать, а чего не умеет, но про TC все как раз понятно — он умеет много чего полезного. Ну и кроме того, нацеленность вашего продукта на рынок мелких/свежих компаний вполне позволяет его сравнить с бесплатной версией TC, который целится в ту же нишу.
Поддерживаю про маркетинговый шум.
Конечно, когда не хватит бесплатного TC и за него придется платить, то...
можно пойти и посмотреть на Jenkins.
можно пойти и посмотреть на Jenkins

Очень нестабильно работает git-plugin, багтрекер постоянно заваливается идентичными тикетами, дескать git scm polling не в себе — и вроде фиксят, а вроде и опять не работает.
Добрый день, umputun.

Спасибо за ваши вопросы и фидбек, я постараюсь прокомментировать.

Извиняемся за маркетинговый шум. Это наш первый пост и хотелось, чтобы все поняли о чем идет речь. Немного перебрали с маркетингом, согласен, исправимся.

Итак, вы совершенно справедливо говорите о том, что на рынке существуют альтернативы. TeamCity очень крутая штука, без вопросов (кстати, вроде бы не open-source’ная). Также я соглашусь с вашим аргументом, что некоторым разработчикам просто интересно решить такую инженерную задачу, как «организовать тестовую инфраструктуру своими руками». Многим даже интересно будет сделать автомасштабирование своими руками. Поверьте, мы ведь сами с этого начали. Пару лет назад, нам просто было интересно сможем мы сделать такую «штуку» или нет. Сделали ;)

Но! На рынке есть разработчики, которые хотят разрабатывать, а не заниматься «развертыванием». Они уже используют GitHub и Heroku, и им не приходит в голову, что нужно поднять свой git на своей машине, например. Многие хотят делать свою работу, программировать, и вообще не тратить силы на поддержание тестовой инфраструктуры.

Поверьте, очень многие понятия не имеют, что такое AWS, что это за «t2.medium» и как его «разгонять» и так далее. При этом они продолжают быть отличными программистами и они продолжают создавать крутые проекты.

Вы – очень опытный, для вас нет сложности развернуть все это и саппортить, вам это просто интересно. Но, поверьте, есть огромная доля тех ребят, кто хочет это просто получить и использовать. Без необходимости даже думать о том, как это работает.

Их задача — программировать, задача Vexor «гонять» их тесты и помогать им делать их продукты качественными.
А вы зашлите бойца к нам в радио-т, мы с ним предметно все обсудим. Только не маркетингово специалиста, но технического. Обещаю сильно не ругать, только справедливо громить :)
Сделайте плиз поддержку Selenium, как это сделано у CircleCI.
И еще, если перед запуском тестов нужно выполнить некоторые команды (например bower install), как это сделать?
gryphon У нас поддерживается Selenium, если у вас «что-то пошло не так», пишите мне: balbekov_oleg
Запуск любых команд можно прописать в конфиге. Многое описано тут: vexor.io/help/, или пишите в скайп, поможем и подскажем.
Проблема с облачными CI системами всегда одна: в большинстве случаев нужна тонкая настройка конфигураций систем, которые тестируешь. Например, у меня компиляция и прогон моделей — распределенные, в них участвуют сотни машин и тысячи ядер. Каждая из них тюнингуется так, чтобы идеально взаимодействовать как с общими шинами на которые кладутся задачи для вычисления, так и агенты CI системы, которые поднимаются динамически чтобы решить ту или иную CI задачу.
Определенно точно, что в природе существуют обычные проекты и более сложные проекты. Возможно вам, с учетом всех вышеописанных сложностей, действительно сложно будет использовать какое либо облачное решение для CI.
Отличный сервис, отличная команда. Желаю вам удачи и быстрого взятия новых высот!
А что если случайно написать тест, который загонит сервер в вечный цикл? Приходишь утром в понедельник, а тут счет набежал на тысячу долларов за while(true); случайный
Сделать запускалку-враппер, пришибающую прогоняющий процесс по таймауту (например, если известно, что тесты обычно идут 5 минут, выставить таймаут в полчаса).
TheIseAse Отличный кейс! ;)))))) Кстати, в беклоге висит задачка, сделать возможным пользователем установить дневные лимиты и месячные лимити, а также увдомлять пользователей о приближении к лимитам. Я думаю это решило бы ваш пример. Скоро реализуем.
А разве теперешние лимиты на время билда не решают этот кейс?
Only those users with full accounts are able to leave comments. Log in, please.