Sadržaj:

Semafori za posao Jenkins: 8 koraka (sa slikama)
Semafori za posao Jenkins: 8 koraka (sa slikama)

Video: Semafori za posao Jenkins: 8 koraka (sa slikama)

Video: Semafori za posao Jenkins: 8 koraka (sa slikama)
Video: Элизабет Гилберт: Ваш неуловимый гений 2024, Novembar
Anonim
Jenkins Job Traffic Seights
Jenkins Job Traffic Seights

U softverskom inženjeringu kontinuirana integracija je praksa spajanja svih radnih kopija programera na zajedničku glavnu liniju nekoliko puta dnevno. Neke od najboljih praksi za postizanje toga su:

  • svi se svakodnevno obavezuju na osnovnu liniju,
  • automatizirati izgradnju,
  • svi mogu vidjeti rezultate najnovijih verzija.
  • … i mnogi drugi.

Da biste ispunili samo ove 3 gornje tačke, važno je da budete obaviješteni o statusu izrade što je brže moguće.

Ovaj projekt pomaže da se to postigne stvaranjem mini, ličnih semafora koji pokazuju trenutni status izgradnje. Napravio sam 2 semafora koji su integrirani u Jenkinsov automatizacijski poslužitelj koji NodeMCU povremeno povlači putem WiFi -a.

Korak 1: Materijali i alati

Materijali koje sam koristio:

  • NodeMCU (koristio sam v3) (BangGood.com)
  • Muški do ženski kratkospojni kablovi, (BangGood.com)
  • 2 seta LED dioda: crvena, žuta, zelena (BangGood.com)
  • 2 seta od 3 otpornika (450Ω, 500Ω, 22Ω)
  • 2 tanke, ali duge prototipne PCB ploče (BangGood.com)
  • microUSB kabel kao izvor napajanja
  • Neka kutija (ja sam je koristio za električne visokonaponske komponente. Našao sam mnogo različitih oblika i jeftino u mojoj lokalnoj maloprodaji)
  • 2 olovke ili 2 debele cijevi 0,5-1 cm unutrašnjeg promjera; i/ili 2 debele slamke za piće

Potrebni alati:

  • Oštri nož (npr. Pomoćni nož za rezanje tepiha)
  • Rotacijski alat
  • Pištolj za vruće ljepilo
  • Lemna stanica
  • Klešta, dijagonalna kliješta/bočni rezači
  • Šrafciger
  • Komad debelog papira
  • Dvostrana ljepljiva traka
  • Ti

Korak 2: Semafori

Semafori
Semafori
Semafori
Semafori
Semafori
Semafori

Za izradu semafora koristimo ploču za izradu prototipa 20x80 mm. Lemite LED diode tako da su postavljene u liniji. Koristio sam ove vrijednosti otpornika:

  • crvena: 510Ω
  • žuto: 470Ω
  • zelena: 22Ω

Vrijednosti su mnogo veće od preporučenih (maksimalna struja 20 mA po LED -u), ali eksperimentirajući s različitim vrijednostima, svjetlo nije previše jako i također sve 3 imaju sličan intenzitet. Imajte na umu da je napon 3,3 V za NodeMCU.

Ožičenje je ravno prema naprijed, samo spojite (lemite) katodu svake LED diode s otpornikom, a zatim lemite na muški kraj kratkospojnog kabela. S jedne strane ploče htio sam samo LED elemente bez ikakvih drugih "iskačućih" dijelova poput nogu otpornika, žica itd. Zato sam koristio "tehniku" koja je neka vrsta SMD -a koristeći komponente PCB -a.

Za sada ostavljamo ovako; poklopac svjetla će se kasnije izvršiti.

Korak 3: Okvir - Glavni

Kutija - Glavna
Kutija - Glavna
Kutija - Glavna
Kutija - Glavna
Kutija - Glavna
Kutija - Glavna

Moramo ugraditi naš NodeMCU na dno okvira. Kutiji je potreban otvor za microUSB port kako bismo mogli napajati glavnu jedinicu. Izmjerio sam grubo položaj rupe i upravo sam je izbušio.

Zatim sam pričvrstio plastične odstojnike pomoću vijaka na nodemcu. Stavio sam ljepilo u svaki kut kutije i stavio cijelu konstrukciju na njega. Nakon što se ohladio, odvrnuo sam NodeMCU i stavio dodatno vruće ljepilo oko odstojnika za koje sam bio siguran da su savršeno postavljeni za NodeMCU. Zahvaljujući tome, ništa se ne koleba unutar kutije i lako možemo priključiti microUSB port bez premještanja stvari unutra.

Korak 4: Kutija - Poklopac

Kutija - Poklopac
Kutija - Poklopac
Kutija - Poklopac
Kutija - Poklopac
Kutija - Poklopac
Kutija - Poklopac
Kutija - Poklopac
Kutija - Poklopac

Prvo sam pokušao koristiti slamke za piće kao stup za svoje semafore, ali nakon nekog testiranja, otkrio sam da je plastika previše tanka i kad sam htio koristiti vruće ljepilo za pričvršćivanje, postalo je vrlo mekano pa se čak i promijenilo njen oblik. Pa sam odlučio koristiti nešto tvrđe - olovke. Odabrao sam neke jeftine prozirne olovke, koje sam odrezao u željenoj dužini i stavio 4 kabela (1 po jedan) sa semafora kroz cijev.

Izbušio sam rupe u srednjoj liniji poklopca prema promjeru olovke. Zatim sam olovke ugradio u rupe i vruće ih zalijepio na donjoj strani poklopca pokušavajući držati stupove ravno.

Stavio sam i vruće ljepilo na vrh stupa da pričvrstim ploče semafora na stupove.

Korak 5: Sklapanje

Sklapanje
Sklapanje
Sklapanje
Sklapanje

Spojio sam žice na NodeMCU (pinout):

Lijevi semafor:

  • crveno do D2 (GPIO4)
  • žuto do D3 (GPIO0)
  • zelena do D4 (GPIO2)
  • uzemljen na GND (upravo sam odabrao jedan od GND pina NodeMCU -a)

DESNI semafor:

  • crveno do D5 (GPIO14)
  • žuto do D6 (GPIO12)
  • zelena do D7 (GPIO13)
  • uzemljen na GND (upravo sam odabrao jedan od GND pina NodeMCU -a)

… I zatvorio sam poklopac. Žice koje sam odabrao bile su prilično dugačke pa sam imao malih problema sa stavljanjem svih u malu kutiju, ali nekako sam to uspio.

Korak 6: Poklopac svjetla

Poklopac svjetla
Poklopac svjetla
Poklopac svjetla
Poklopac svjetla
Poklopac svjetla
Poklopac svjetla
Poklopac svjetla
Poklopac svjetla

Nisam mogao pronaći nikakva gotova rješenja kao poklopce za svjetla - nekakve kutije od bombona. Pa sam odlučio da ih napravim ručno samo tako što sam izrezao kutiju od papira.

Veličina kutije koju sam odabrao bila je: 20 mm x 15 mm x 85 mm.

Izrezao sam rupe tako da sam izrezao neku vrstu "zvijezda" na odgovarajućim mjestima gdje su LED diode bile postavljene. Zalijepila sam ih dvostranom ljepljivom trakom.

Za pokrivanje prozirnih stupova možete upotrijebiti neki trajni marker, neprozirnu selotejp, … Koristio sam crne slamke za piće koje sam rezao od kraja do kraja. Zatim sam pokrio stubove.

Bio sam više nego sretan zbog konačnog rezultata.

Korak 7: Softver

Postoji mnogo pristupa koji ukazuju na trenutno stanje izgradnje. Implementirao sam takvo ponašanje:

Crveno ili zeleno svjetlo svijetli kada konstrukcija propada ili u skladu s tim prolazi. Žuta lampica treperi svaki put kada se uputi HTTP poziv i stalno se uključuje kada se plan trenutno gradi.

Možete jednostavno promijeniti implementaciju prema svojim potrebama - pokušajte eksperimentirati i provjerite šta odgovara vama i/ili vašem timu.

Morate postaviti kôd prije nego što ga postavite na svoj NodeMCU. Morate postaviti najviše 2 WiFisa.

Takođe morate postaviti svoj korisnički token. Da biste dobili API token, kliknite na Vaše korisničko ime u gornjem desnom kutu u Jenkinsu, a zatim Konfiguracija. Možete pronaći dugme "Prikaži API token". Da biste izgradili osnovnu vrijednost autentifikacije, stvorite niz pomoću uzorka:

USER_NAME: API_TOKEN

a zatim ga kodirajte pomoću Base64. Npr. za gornji lažni niz trebali biste dobiti vrijednost Base64:

VVNFUl9OQU1FOkFQSV9UT0tFTg ==

Morate također postaviti putanje vašeg Jenkins hosta, porta i 2 posla.

Nakon ovog postavljanja i učitavanja skice - spremni ste za upotrebu semafora.

Kod je dostupan i na GitHub -u.

Korak 8: Posljednje riječi

Da biste uključili uređaj, samo ga spojite na bilo koju USB utičnicu. Koristi WiFi povezivanje za pristup Internetu, tako da je svaka ispravna USB utičnica u redu - bilo na računarskom portu ili punjaču. Nakon pokretanja i povezivanja na WiFi, vaši semafori će početi prikazivati trenutni status izrade.

Smatram da je ovaj semafor vrlo koristan. Stoje pored mojih monitora u kancelariji i kad god se upali crveno svjetlo - odmah to primijetim. Ne moram gubiti vrijeme da provjerim statuse izrade direktno na Jenkinsu.

Jedno poboljšanje moglo bi se postići korištenjem neke igračke na semaforu umjesto da se sama izgradi od nule (smeće?).

Nadam se da ćete pronaći inspiraciju za izradu vlastitih Jenkins integriranih semafora.

Preporučuje se: