Оглавление:

Светофоры Jenkins Job: 8 шагов (с изображениями)
Светофоры Jenkins Job: 8 шагов (с изображениями)

Видео: Светофоры Jenkins Job: 8 шагов (с изображениями)

Видео: Светофоры Jenkins Job: 8 шагов (с изображениями)
Видео: Aleksandr Sychev – iOS department automation 2024, Ноябрь
Anonim
Дженкинс Работа Светофор
Дженкинс Работа Светофор

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

  • все придерживаются базовой линии каждый день,
  • автоматизировать сборку,
  • все могут увидеть результаты последних сборок.
  • …и многие другие.

Чтобы выполнить только эти 3 пункта выше, важно получать уведомления о статусе сборки как можно быстрее.

Этот проект помогает добиться этого за счет создания миниатюрных личных светофоров, которые показывают текущий статус сборки. Я построил 2 комплекта светофоров, которые интегрированы с сервером автоматизации Jenkins, который периодически запускается NodeMCU через Wi-Fi.

Шаг 1. Материалы и инструменты

Материалы, которые я использовал:

  • NodeMCU (я использовал v3) (BangGood.com)
  • Кабельные перемычки для макетных плат между мужчинами и женщинами (BangGood.com)
  • 2 комплекта светодиодов: красный, желтый, зеленый (BangGood.com)
  • 2 комплекта по 3 резистора (450 Ом, 500 Ом, 22 Ом)
  • 2 тонких, но длинных прототипа печатных плат (BangGood.com)
  • кабель microUSB в качестве источника питания
  • Некоторая коробка (я использовал одну для электрических компонентов высокого напряжения. Я нашел много разных форм и дешевых в моем местном розничном магазине DIY)
  • 2 ручки или 2 толстые трубки с внутренним диаметром 0,5-1 см; и / или 2 толстые соломинки для напитков

Необходимые инструменты:

  • Острый нож (например, универсальный нож для резки ковров)
  • Поворотный инструмент
  • Пистолет для горячего клея
  • Паяльная станция
  • Плоскогубцы, диагональные плоскогубцы / бокорезы
  • Отвертка
  • Кусок плотной бумаги
  • Двусторонний скотч
  • Ты

Шаг 2: светофор

Светофор
Светофор
Светофор
Светофор
Светофор
Светофор

Для построения светофоров используем макетную плату 20х80мм. Припаяйте светодиоды так, чтобы они располагались в линию. Я использовал эти номиналы резисторов:

  • красный: 510 Ом
  • желтый: 470 Ом
  • зеленый: 22 Ом

Значения намного выше рекомендованных (максимальный ток 20 мА на светодиод), но экспериментируя с разными значениями, свет не слишком яркий, а также все 3 имеют одинаковую интенсивность. Обратите внимание, что напряжение для NodeMCU составляет 3,3 В.

Подключение прямолинейное, просто подключите (припаяйте) катод каждого светодиода с резистором, а затем припаяйте его к штекерному концу соединительного кабеля. На одной стороне платы мне нужны были только светодиодные элементы, без каких-либо других "выскакивающих" частей, таких как ножки резистора, провода и так далее. Вот почему я использовал «технику», которая представляет собой разновидность SMD с использованием компонентов печатной платы.

Мы пока оставим это так; Покрытие фары будет сделано позже.

Шаг 3: Коробка - Главное

Коробка - Главная
Коробка - Главная
Коробка - Главная
Коробка - Главная
Коробка - Главная
Коробка - Главная

Нам нужно встроить наш NodeMCU в нижнюю часть коробки. В коробке нужно отверстие для порта microUSB, чтобы мы могли включить основной блок. Я тщательно измерил положение отверстия и просто просверлил его.

Затем я прикрепил пластиковые проставки винтами к nodemcu. Я нанесла клей в каждый угол коробки и положила на нее всю конструкцию. После того, как он остыл, я открутил NodeMCU и нанес немного горячего клея вокруг прокладок, которые, как я был уверен, идеально подходят для NodeMCU. Благодаря этому внутри коробки ничего не шатается, и мы можем легко подключить порт microUSB, не перемещая предметы внутри.

Шаг 4: Коробка - Крышка

Коробка - Крышка
Коробка - Крышка
Коробка - Крышка
Коробка - Крышка
Коробка - Крышка
Коробка - Крышка
Коробка - Крышка
Коробка - Крышка

Сначала я попытался использовать соломинку для напитков в качестве опоры для светофора, но после некоторых тестов я обнаружил, что пластик слишком тонкий, и когда я хотел использовать горячий клей, чтобы прикрепить его, он просто стал очень мягким и даже изменился его форма. Поэтому я решил использовать что-нибудь посложнее - ручки. Я выбрал несколько дешевых прозрачных ручек, отрезал их нужной длины и пропустил 4 кабеля (по одному) от светофора через трубу.

Я просверлил отверстия в средней линии крышки в соответствии с диаметром ручки. Затем я вставил ручки в отверстия и приклеил их горячим клеем к нижней стороне крышки, стараясь удерживать полюса прямо.

Я также нанесла немного горячего клея на столб, чтобы прикрепить доски светофора к столбам.

Шаг 5: Сборка

Сборка
Сборка
Сборка
Сборка

Подключил провода к NodeMCU (распиновка):

Левый светофор:

  • красный к D2 (GPIO4)
  • желтый к D3 (GPIO0)
  • зеленый к D4 (GPIO2)
  • земля на GND (я просто выбрал один из контактов GND NodeMCU)

Правый светофор:

  • красный к D5 (GPIO14)
  • желтый к D6 (GPIO12)
  • зеленый к D7 (GPIO13)
  • земля на GND (я просто выбрал один из контактов GND NodeMCU)

… И я закрыл крышку. Провода, которые я выбрал, были довольно длинными, поэтому у меня были небольшие проблемы с их размещением в маленькой коробке, но каким-то образом мне это удалось.

Шаг 6: крышка света

Крышка фонарей
Крышка фонарей
Крышка фонарей
Крышка фонарей
Крышка фонарей
Крышка фонарей
Крышка фонарей
Крышка фонарей

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

Размер коробки, которую я выбрал, был: 20 мм x 15 мм x 85 мм.

Я вырезал отверстия так, чтобы вырезать что-то вроде «звездочек» в нужных местах, где располагались светодиоды. Я склеила их двусторонним скотчем.

Чтобы закрыть прозрачные столбы, можно использовать какой-нибудь перманентный маркер, непрозрачный скотч… Я использовал черные соломинки для напитков, которые я прорезал от края до края. Потом накрыл столбы.

Я был более чем доволен конечным результатом.

Шаг 7: Программное обеспечение

Есть много способов указать текущее состояние сборки. Я реализовал такое поведение:

Красный или зеленый свет загорается, когда сборка завершается ошибкой или успешно завершается. Желтый свет мигает каждый раз, когда выполняется HTTP-вызов, и постоянно горит, когда план в настоящее время строится.

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

Вам необходимо настроить код, прежде чем загружать его в свой NodeMCU. Вам нужно установить максимум 2 WiFis.

Также вам необходимо установить свой токен пользователя. Чтобы получить токен API, нажмите «Ваше имя пользователя» в правом верхнем углу Jenkins, затем «Конфигурация». Вы можете найти кнопку «Показать токен API». Чтобы создать значение обычной проверки подлинности, создайте строку, используя шаблон:

USER_NAME: API_TOKEN

а затем закодируйте его с помощью Base64. Например. для указанной выше поддельной строки вы должны получить значение Base64:

VVNFUl9OQU1FOkFQSV9UT0tFTg ==

Вы также должны указать путь к хосту Jenkins, порту и 2 заданию.

После этой настройки и загрузки скетча - все готово к работе со светофором.

Код также доступен на GitHub.

Шаг 8: Последние слова

Чтобы включить устройство, просто подключите устройство к любому USB-разъему. Он использует соединение Wi-Fi для доступа в Интернет, поэтому подойдет любой рабочий USB-разъем - компьютерный порт или зарядное устройство. После загрузки и подключения к Wi-Fi ваши светофоры начнут показывать текущий статус сборки.

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

Одно улучшение можно сделать, используя игрушку со светофором вместо того, чтобы строить ее самостоятельно с нуля (барахло?).

Я надеюсь, что Вы найдете вдохновение для создания собственных интегрированных светофоров Jenkins.

Рекомендуемые: