Выпуская с уверенностью

  1. Первые годы #
  2. сегодня #
  3. Workflow #
  4. Тестовая настройка сервера #
  5. Релиз #
  6. Как вы должны обновить sitespeed.io #
  7. Что мы можем сделать лучше #

Некоторые люди говорят, что мы выпускаем sitespeed.io слишком часто. Это отчасти верно. Мы выпускаем часто, но не выпускаем слишком часто :) Мы выпускаем новые функции, так как они выполняются в течение последних 4,5 лет (sitespeed.io исполнится 5 лет в октябре!). У нас были некоторые ошибки, но мы разработали систему, в которой мы обычно их обнаруживаем перед выпуском.

Если у вас возникли проблемы с отслеживанием при обновлении и выпуске, следуйте инструкциям нас в твиттере , Мы всегда пишем в Твиттере о новом выпуске, и если будет серьезное исправление ошибки, мы выделим это.

Со всем сказанным давайте вернемся назад во времени и посмотрим, как мы делали вещи с самого начала.

Первые годы #

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

сегодня #

Мы команда из трех человек с большим количеством PR (но мы хотим еще больше!) и большей базой кода, так как у нас есть пять инструментов для веб-производительности, которые мы создали. Нам нужно было иметь более автоматизированную установку сегодня, чтобы иметь возможность часто выпускать.

Workflow #

Давайте покажем, что именно происходит, когда мы нажимаем код:

  1. Мы фиксируем наш код (или объединяем ваш PR) с Github ,
  2. Трэвис-CI запускает пару модульных тестов и пару тестов полной интеграции, где мы запускаем sitespeed.io из командной строки, тестируем пару сайтов в Chrome / Firefox и тестируем нашу интеграцию WebPageTest. Вы можете найти нашу конфигурацию Travis Вот ,
  3. Коммит также создает новый Контейнер Docker в Docker Hub , Помните: это не то же самое изображение, которое вы используете, когда вы запускаете sitespeed.io в работе, это содержит самые последние и самые большие коммиты.
  4. У нас есть тестовый сервер в Digital Ocean, который запускает последний контейнер Docker (он автоматически обновляется при появлении новой версии контейнера). При запуске следующего теста будет использоваться последняя версия. Когда тест выполняется, он загружает HTML-код на S3 и отправляет метрики в наш экземпляр Graphite.
  5. На сервере мы также наблюдаем журнал sitespeed.io и уведомляем через сообщение Slack, когда мы получаем ошибку в журналах, используя curl, как описано ( Вот ).

io и уведомляем через сообщение Slack, когда мы получаем ошибку в журналах, используя curl, как описано (   Вот   )

Нам все еще нужно сделать небольшие изменения в нашей интеграции с WebPageTest, прежде чем мы сделаем следующий выпуск!

Тестовая настройка сервера #

Мы используем Digital Ocean для запуска dashboard.sitespeed.io (Графит / Графана на одном сервере и на другом сервере, на котором работает sitespeed.io). Оттуда мы запускаем sitespeed.io с описанной настройкой Вот , Мы тестируем более 20 URL каждый час:

Вы можете проверить результат на dashboard.sitespeed.io и, установив флажок «Выполнения», вы можете получить доступ к страницам результатов HTML, обслуживаемых S3. Код, который генерирует эти метрики, всегда является последним коммитом. Вы всегда можете сами проверить, как у нас дела :)

Вы всегда можете сами проверить, как у нас дела :)

Переход от Grafana к результату HTML, загруженному в S3.

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

Релиз #

Когда мы выпускаем (= новую версию для npm и новый тег для концентратора Docker), мы используем этот супер простой сценарий выпуска. Перед выпуском мы всегда позволяем последнему коду некоторое время выполняться на нашем тестовом сервере и ждем ошибок на нашем канале Slack. Мы также вручную просматриваем журналы перед выпуском и проверяем страницы результатов HTML на S3.

Как вы должны обновить sitespeed.io #

Если вы используете Docker (и вам следует), убедитесь, что вы используете версии с тегами, и под тегом мы не подразумеваем последние версии. Потяните, установив номер версии так:

Docker Pull sitespeedio / sitespeed.io: 4.7.0

При обновлении прочитайте изменений и Docker извлекает новую версию, а затем изменяет файл сценария выполнения / yml (или любой другой файл, который вы используете для запуска sitespeed.io), чтобы он совпадал с номером новой версии.

Что мы можем сделать лучше #

Мы постоянно пытаемся улучшить процесс релизов и сделать его максимально безопасным. Что мы можем сделать?

  • Больше юнит-тестов, это поможет нам обнаружить проблемы как можно раньше. Реально я не думаю, что это произойдет, пока в команду не войдет больше людей. Если вы хотите помочь и улучшить стабильность sitespeed.io, пожалуйста, откройте pull-запрос и отправьте тестовый модуль!

  • Тобиас имеет начал двигаться тесты Browsertime запустить в контейнере Docker в Трэвисе. Мы надеемся, что это сократит время сборки и облегчит нам проведение более полных тестов.

  • Было бы здорово, если бы мы могли проверить журналы на Travis и если мы получили ошибку в журнале, просто сломали сборку. Сегодня мы нарушаем сборку только тогда, когда sitespeed.io возвращает код ошибки.

Если у вас есть идеи о том, как мы можем лучше тестировать, пожалуйста, создать проблему на Github или отправьте нам чирикать !

/Питер

PS Скоро мы выпустим Browsertime 1.0 и sitespeed.io 5.0, это будет взрыв!

Похожие

Что такое Ubuntu?
Однако работающая система будет работать немного медленнее, чем установлена. Тем не менее, это очень полезная функция, которую следует использовать перед принятием решения об установке. Установленная система имеет практически все, что вы можете ожидать. Существует веб-браузер (Mozilla Firefox), офисный пакет и мультимедийные программы для воспроизведения музыки, фильмов, просмотра фотографий и т. Д. Некоторые из программ также известны пользователям Windows и OS X, некоторые из них будут
Что такое пипсы?
... ion встроенный калькулятор позволяет рассчитать это значение в зависимости от рынка и выбранного вами объема. В приведенном ниже примере для одного лота на EURUSD стоимость пункта составляет 38,23 злотых. Это означает, что если рынок движется в вашем направлении на 10 пунктов, вы начнете получать прибыль в размере
Как выглядит карта Интернета?
... выглядят? Карта интернета это онлайн-проект, который стремится визуализировать такие метрики, как веб-трафик и ссылки между сайтами, и в результате получается прекрасный ландшафт сети сегодня. Вот как была определена физическая форма сайта и его расположение на Интернет-карте. Математически говоря, карта Интернета - это двумерное представление ссылок между сайтами в Интернете. Каждый сайт представляет собой круг на карте, и его
Живи как родной. Мы советуем как дешево снять квартиру на несколько дней за границей
... должны согласовывать их с ним заранее, чтобы избежать непричастности в самом начале нашего пребывания. Также обращаем внимание на дополнительные сборы. Некоторые владельцы квартир взимают плату, например, за заключительную уборку. Дополнительные расходы, которые нам придется нести, всегда указаны в описании предложения. Мы также должны помнить, что в большинстве сервисов, например, Airbnb и Wimdu, мы платим заранее (Ebab - мы платим локально хосту). Поэтому, пожалуйста,
Сколько стоит безопасная семья? Это зависит от оператора
Развитие технологий создало идеальные условия, чтобы сделать жизнь более безопасной, и люди, которые хотят защитить себя, свою семью и свое имущество, получают дополнительные возможности. Мобильные операторы, которые предлагают услуги локализации, страхования или мониторинга, также отвечают требованиям этих людей. В настоящее время наиболее продвинутой системой на польском телекоммуникационном рынке является услуга «Безопасная семья» (также известная как
[Решено] Как остановить обновление iPhone, iPad и iPod touch
Когда компания Apple выпускает последнюю версию iOS, пользователи Apple всегда напоминают об обновлении своей системы. Вы устали от уведомлений о том, что не хотите обновлять свой iPhone, iPad или iPod touch? Можем ли мы просто остановить обновление iPhone ? Здесь мы подготовили что-то для вас, и они могут быть полезны.
Windows 10 - руководство пользователя, советы, настройка
... IOS? Чтобы войти в настройки BIOS, включите меню «Пуск», откройте «Настройки» и выберите категорию «Обновления и безопасность». Затем включите «Восстановление» и выберите «Запустить сейчас» в разделе «Расширенный запуск». После перезапуска на экране выбора параметров выберите «Устранение неполадок», перейдите к дополнительным параметрам и выберите нужный вариант. Как восстановить Windows 10 до заводских настроек? Восстановление заводских настроек
Партнерские программы - ТОП10 - Рейтинг. Как начать? руководство
... вы можете разместить ссылки на продвигаемые продукты. Часто случается, что владельцы различных партнерских программ предоставляют участникам различные инструменты.
Мы завершаем снаряжение для лыжной поездки
... должны определиться с местом, куда мы идем, выбрать вид транспорта и, конечно же, собрать вещи. С нашим лыжным снаряжением мы не столкнемся с необходимостью заимствования и дополнительной платы, однако у нас могут возникнуть проблемы с его транспортировкой. Большая машина пригодится, потому что в горах мы должны взять гораздо больше. Завершение наряда также требует нашего внимания. Только старая куртка и обычные брюки не достаточно. Лыжный
Как сделать деревянные качели?
Все мы, несомненно, прекрасно знаем о преимуществах наличия сада. Сад - прекрасное место для отдыха и восстановления. Для этого, безусловно, стоит оборудовать его деревянными качелями. Его будут использовать не только дети, но и взрослые, беззаботно отдыхающие на нем в теплую погоду. Кроме того, деревянные качели это красиво украшение сада ,
Как Google Maps может предсказать трафик
Одним из больших преимуществ Google Maps является, помимо встроенной функции навигации, возможность отображать трафик на нужном маршруте. Но как именно это работает? Часть этого ответа не порадует многих. Карты Google стали одной из самых популярных навигационных

Комментарии

Даже если вы не поделились своими результатами в Интернете, в глубине души вы все еще чувствуете себя самодовольным, потому что Что вы должны есть на обед?
... должны его использовать Как я уже упоминал во введении, Composer - менеджер пакетов для PHP. Более конкретно, менеджер зависимостей ( Dependency Manager for PHP ). Его функция лучше всего описана на примере. Вы когда-нибудь использовали Font Awesome в своем проекте? Или Bootstrap? Как выглядел импорт этих библиотек для вашего проекта? Вы искали сайт проекта, скачали файлы, скопировали их в проект и отправили в хранилище в вашей комиссии? Если так,
Значит, вы уверены, что вырастете, вы просто обеспокоены тем, что это произойдет где-то еще, потому что Уэнатчи моргнул в критический момент?
Значит, вы уверены, что вырастете, вы просто обеспокоены тем, что это произойдет где-то еще, потому что Уэнатчи моргнул в критический момент? Барнетт спросил. Карлсон согласился. «Это совершенно верно».
Захватывающе, потому что вы получаете представление о том, что произойдет через пару месяцев, и пытаетесь, потому что, кто не хочет новую видеокарту прямо сейчас?
Захватывающе, потому что вы получаете представление о том, что произойдет через пару месяцев, и пытаетесь, потому что, кто не хочет новую видеокарту прямо сейчас? В конечном счете, для крупнейшего по объему рынка NVIDIA это означает, что нужно немного подождать. Но после этого ожидания вот мы: GP106, сердце GeForce GTX 1060. Объявлено в начале июля Основной графический процессор NVIDIA для энтузиастов
И как у вас с этим - если ясно, что вы шутите с Google, вы уже сделали правильные карты?
И как у вас с этим - если ясно, что вы шутите с Google, вы уже сделали правильные карты? Вы созрели, осознавая, что в настоящее время это не только волшебный ключ к банкомату, а иногда даже может спасти вашу профессиональную жизнь? Ps. В то время как аккаунт мне удалось разблокировать, я нашел название фото на блог Михаила Бриса который, видимо, боролся с той же проблемой.
Каждый раз у нас есть только одна минута или 60 секунд, и за это время мы должны набрать как можно больше очков и как?
Каждый раз у нас есть только одна минута или 60 секунд, и за это время мы должны набрать как можно больше очков и как? Это очень просто, и у поклонников игр в стиле 3 не должно быть проблем с этой игрой. Нам нужно поменять два соседних элемента (ромба), чтобы расположить их в линию из трех или более одинаковых драгоценных камней. Строка, упорядоченная таким образом, исчезнет с доски, и мы будем получать за нее баллы. Конечно, чем больше камней, тем больше баллов будет зачислено
1. Что мы можем сделать, чтобы остановить уведомление об обновлении iOS?
1. Что мы можем сделать, чтобы остановить уведомление об обновлении iOS? Когда ваш iPhone, iPad или iPod touch автоматически загрузят пакет прошивки, вам будет отправлено уведомление о том, что вы можете обновить систему ваших устройств iOS. Что раздражает людей, так это то, что это уведомление может появляться снова и снова, независимо от того, когда вы откроете свой iPhone, оно будет там. Итак, мы можем сами установить обновление iPhone? Шаг 1: Идите и найдите ваш
Делай все возможное, чтобы составить хорошо написанный документ Как написать бизнес-план Как написать бизнес-план Вы собираетесь начать свой собственный бизнес?
1. Что мы можем сделать, чтобы остановить уведомление об обновлении iOS? Когда ваш iPhone, iPad или iPod touch автоматически загрузят пакет прошивки, вам будет отправлено уведомление о том, что вы можете обновить систему ваших устройств iOS. Что раздражает людей, так это то, что это уведомление может появляться снова и снова, независимо от того, когда вы откроете свой iPhone, оно будет там. Итак, мы можем сами установить обновление iPhone? Шаг 1: Идите и найдите ваш
Итак, как вы решаете, какой браузер лучше для вас?
Итак, как вы решаете, какой браузер лучше для вас? Что ж, я смело установил множество веб-браузеров последнего поколения, и это то, что я нашел. Общие вещи Новые браузеры отличаются от своих предшественников не только производительностью. Все они (за исключением Safari) имеют более удобный интерфейс. Я рассматриваю это как хорошие и плохие новости: хотя мне нравится более чистый внешний вид, с одной строкой меню в верхней части дисплея, я не вижу, чтобы этот выбор дизайна,
С чего начать фазу именования и что искать во время мозгового штурма, и, наконец, что нужно сделать, чтобы создать идеальное имя для себя?
С чего начать фазу именования и что искать во время мозгового штурма, и, наконец, что нужно сделать, чтобы создать идеальное имя для себя? Начните с мозгового штурма и запишите все ассоциации для вашего имени.
Все это хорошо известно, но как многие из вас понимают, что контент, с которым вы обычно сталкиваетесь в Интернете, является лишь верхушкой огромного айсберга информации?
Все это хорошо известно, но как многие из вас понимают, что контент, с которым вы обычно сталкиваетесь в Интернете, является лишь верхушкой огромного айсберга информации? Представь себе настоящий айсберг Холм выступает над водой и виден, но реальное большинство айсберга находится ниже, невидимо. Мировая сеть похожа, в которой обычные страницы, которые мы посещаем, являются вершинами этого айсберга. Это включает в себя популярные сайты, такие как Википедия, Google и даже миллионы
Как получить, как запустить и, прежде всего, как настроить ваше оборудование, чтобы иметь возможность использовать бесплатный интернет?
Как получить, как запустить и, прежде всего, как настроить ваше оборудование, чтобы иметь возможность использовать бесплатный интернет? Ответ на эти вопросы вы найдете в следующем руководстве.

Что мы можем сделать?
Выглядят?
Вы устали от уведомлений о том, что не хотите обновлять свой iPhone, iPad или iPod touch?
Можем ли мы просто остановить обновление iPhone ?
IOS?
Как восстановить Windows 10 до заводских настроек?
Как начать?
Но как именно это работает?
Вы когда-нибудь использовали Font Awesome в своем проекте?
Или Bootstrap?

Новости