Представляем Слит ☁️ ❄️ | Кодементор
Я очень рад представить новую жемчужину, над которой я работал, под названием мокрый снег! Он все еще находится в альфа-/бета-фазе (в настоящее время версия 0.3.1), но в настоящее время работает!
Что такое Слит?
Sleet — это инструмент для ускорения рабочего процесса Ruby, если вы используете Rspec и CircleCI. Он позволяет запустить простую команду sleet
а затем запустите ТОЛЬКО те примеры, которые не удалось выполнить в вашей последней сборке CircleCI!
Это работает путем загрузки файлов сохранения из отдельных контейнеров CircleCI и объединения их, чтобы вы могли иметь один файл сохранения локально.
Почему он называется Слит?
Sleet
произошло из-за размышлений об осадках. Подобно осадкам, он включает в себя взятие множества мелких частиц из облаков и объединение их в более крупные объекты по мере их падения. Мне начала нравиться аналогия с осадками, поэтому я посмотрел, какие имена были доступны. Не было ни одного существующего драгоценного камня с именем Sleet
так вот с чем я ездил!
Почему он был создан
КИ — отличный инструмент! Но я всегда находил неудобным копировать и вставлять, какие спецификации не удалось выполнить из среды CI, когда я хотел запустить их локально. И когда я услышал о Rspec Persistance Files, я понял, что должен быть способ объединить их вместе! Загрузив файл сохранения Rspec из CI, вы получите почти весь путь, и если вы запустите CI в однопоточной среде, вы получите один файл сохранения, которого может быть достаточно! На мой взгляд, одной из лучших функций CircleCI является возможность распараллеливания спецификаций. Но у этого есть неприятный побочный эффект создания нескольких файлов сохранения, и чаще всего я обнаруживал, что сбои, которые я хотел, охватывают несколько файлов.
Я также фанат автоматизации, и это казалось проблемой, которую можно решить! К счастью, у CircleCI есть API, который делает доступной всю информацию о сборке и артефактах, поэтому мне просто нужно было склеить все вместе.
Начиная
Это предполагает, что у вас уже есть файлы сохраняемости Rspec, настроенные для загрузки в CircleCI и настроенные для локального использования. Для руководства, которое также охватывает это, проверьте ПРОЧТИ МЕНЯ!
Сначала установите драгоценный камень. (В настоящее время мокрый снег зависит от rugged
для взаимодействия с Git, что требует cmake
установить. В OSX вы можете установить его с помощью brew install cmake
)
gem install sleet
Затем просто перейдите в каталог вашего проекта и проверьте ветку, для которой были запущены тесты в CircleCI. Тогда просто запустите Sleet!
sleet
Если ваш файл сохранения Rspec называется .rspec_example_statuses
как локально, так и в Circle, это должно быть все, что вам нужно! Если вы используете Worklfows в CircleCI, это также поддерживается! Проверьте вариант рабочих процессов.
Я определенно собираюсь написать больше о Sleet в ближайшее время, но, поскольку я написал большую часть README и этот пост сегодня, я почти закончил писать на сегодня. Надеюсь, ты посмотришь на Слита! И если у вас есть какие-либо вопросы или комментарии, создайте проблему на GitHub, если это уместно, или отправьте мне электронное письмо по адресу coreyja@gmail.com.