Innholdsfortegnelse:

Jenkins jobbtrafikklys: 8 trinn (med bilder)
Jenkins jobbtrafikklys: 8 trinn (med bilder)

Video: Jenkins jobbtrafikklys: 8 trinn (med bilder)

Video: Jenkins jobbtrafikklys: 8 trinn (med bilder)
Video: Traffic light jerking off 2024, November
Anonim
Jenkins jobbtrafikklys
Jenkins jobbtrafikklys

I programvareteknikk er kontinuerlig integrasjon praksisen med å slå sammen alle utviklerarbeidskopier til en delt hovedlinje flere ganger om dagen. Noen av de beste fremgangsmåtene for å oppnå det er:

  • alle forplikter seg til grunnlinjen hver dag,
  • automatisere bygget,
  • alle kan se resultatene av de siste byggene.
  • …og mange andre.

For å oppfylle bare disse 3 punktene ovenfor, er det viktig å bli varslet om byggestatus så raskt som mulig.

Dette prosjektet bidrar til å oppnå det ved å lage et lite, personlig trafikklys som indikerer gjeldende byggestatus. Jeg har bygget to sett med trafikklys som er integrert i Jenkins automatiseringsserver som jevnlig trekkes av NodeMCU via WiFi.

Trinn 1: Materialer og verktøy

Materialer jeg brukte:

  • NodeMCU (jeg brukte v3) (BangGood.com)
  • Mann til kvinne brødbrettkabel, (BangGood.com)
  • 2 sett med lysdioder: rød, gul, grønn (BangGood.com)
  • 2 sett med 3 motstander (450Ω, 500Ω, 22Ω)
  • 2 tynne, men lange prototyp PCB -plater (BangGood.com)
  • microUSB -kabel som strømforsyning
  • Noen esker (jeg brukte en til elektriske høyspenningskomponenter. Jeg fant mange forskjellige former og billige i min lokale byggemarked).
  • 2 penner eller 2 tykke rør 0,5-1 cm innvendig diameter; og/eller 2 tykke sugerør

Nødvendige verktøy:

  • Skarp kniv (f.eks. Kniv til skjæring av tepper)
  • Roterende verktøy
  • Varm limpistol
  • Loddestasjon
  • Tang, diagonal tang/sidekutter
  • Skrujern
  • Et stykke tykt papir
  • Dobbeltsidig tape
  • Du

Trinn 2: Trafikklys

Trafikklys
Trafikklys
Trafikklys
Trafikklys
Trafikklys
Trafikklys

For å bygge trafikklys bruker vi prototypebrett 20x80mm. Lodd LEDer slik at de er plassert i en linje. Jeg har brukt disse motstandsverdiene:

  • rød: 510Ω
  • gul: 470Ω
  • grønn: 22Ω

Verdiene er mye høyere enn anbefalt (maks 20mA strøm per LED), men eksperimenterer med forskjellige verdier, lyset er ikke for sterkt, og alle tre har lik intensitet. Vær oppmerksom på at spenningen er 3,3V for NodeMCU.

Ledningene er rett frem, bare koble (lodde) katoden til hver LED med motstand og deretter loddetinn til hanenden av jumperkabelen. På den ene siden av brettet ønsket jeg bare LED -elementer uten andre "dukker opp" deler som motstandsben, ledninger og så videre. Derfor har jeg brukt en "teknikk" som er en slags SMD som bruker PCB -komponenter.

Vi lar det være slik for nå; lysdekselet blir gjort senere.

Trinn 3: Box - Main

Boks - Main
Boks - Main
Boks - hoved
Boks - hoved
Boks - Main
Boks - Main

Vi må bygge inn vår NodeMCU i bunnen av esken. Boksen trenger et hull for microUSB -port, slik at vi kan slå på hovedenheten. Jeg målte latterlig hullposisjonen, og jeg bare boret den.

Deretter festet jeg avstandsstykkene i plast med skruer til nodemcu. Jeg la litt lim i hvert hjørne av esken, og jeg la hele konstruksjonen på den. Etter at det var avkjølt, skrudde jeg av NodeMCU og la litt ekstra varmt lim rundt distansene som jeg var sikker på var perfekt plassert for NodeMCU. Takk for dette, ingenting vingler inne i esken, og vi kan enkelt feste microUSB -porten uten å flytte ting inni.

Trinn 4: Boks - lokk

Boks - lokk
Boks - lokk
Boks - lokk
Boks - lokk
Boks - lokk
Boks - lokk
Boks - lokk
Boks - lokk

Først prøvde jeg å bruke et sugerør som en stolpe for trafikklysene mine, men etter noen tester fant jeg ut at plasten er for tynn, og da jeg ville bruke et varmt lim for å feste den, ble den veldig myk og endret seg til og med formen. Så jeg bestemte meg for å bruke noe hardere - penner. Jeg har valgt noen billige gjennomsiktige penner, som jeg kuttet av i ønsket lengde og la 4 kabler (1 om gangen) fra trafikklysene gjennom røret.

Jeg boret hull i en midtlinje på lokket i henhold til pennens diameter. Deretter la jeg inn penner i hullene, og jeg limte dem på undersiden av lokket for å prøve å holde stengene rette.

Jeg la også litt varmt lim på toppen av stangen for å feste trafikklysbrettene til stolpene.

Trinn 5: Montering

Montering
Montering
Montering
Montering

Jeg koblet ledninger til NodeMCU (pinout):

Venstre trafikklys:

  • rød til D2 (GPIO4)
  • gul til D3 (GPIO0)
  • grønn til D4 (GPIO2)
  • bakken til GND (jeg valgte nettopp en av GND -pinnen til NodeMCU)

Rett trafikklys:

  • rød til D5 (GPIO14)
  • gul til D6 (GPIO12)
  • grønn til D7 (GPIO13)
  • bakken til GND (jeg valgte bare en av GND -pinnen til NodeMCU)

… og jeg lukket lokket. Ledningene jeg valgte var ganske lange, så jeg hadde litt problemer med å sette dem alle inne i den lille boksen, men på en eller annen måte klarte jeg å gjøre det.

Trinn 6: Lysdeksel

Lysdeksel
Lysdeksel
Lysdeksel
Lysdeksel
Lysdeksel
Lysdeksel
Lysdeksel
Lysdeksel

Jeg kunne ikke finne noen klare løsninger som et lysdeksel - en slags esker fra godteri eller så. Så jeg bestemte meg for å bygge dem for hånd bare ved å kutte en eske av et papir.

Størrelsen på esken jeg valgte var: 20mm x 15mm x 85mm.

Jeg kuttet hullene slik at jeg klippet en slags "stjerner" på riktige steder der lysdiodene var plassert. Jeg limte dem med dobbeltsidig teip.

For å dekke de gjennomsiktige stolpene, kan du bruke en permanent markør, ikke -gjennomsiktig tape,… Jeg brukte svarte sugerør som jeg skar gjennom fra ende til annen. Så dekket jeg stolpene.

Jeg var mer enn glad for det endelige resultatet.

Trinn 7: Programvare

Det er mange tilnærminger for å indikere den nåværende byggetilstanden. Jeg implementerte en slik oppførsel:

Rødt eller grønt lys lyser når bygningen mislykkes eller passerer tilsvarende. Gult lys blinker hver gang det foretas et HTTP -anrop og slås på kontinuerlig når en plan for øyeblikket bygges.

Du kan enkelt endre implementeringen i henhold til dine behov - prøv å eksperimentere og sjekk hva som passer deg og/eller teamet ditt.

Du må konfigurere koden før du laster den opp til NodeMCU. Du må angi maks 2 WiFis.

Du må også angi brukertokenet ditt. For å få API-token, klikk på Ditt brukernavn øverst til høyre i Jenkins, deretter på Konfigurasjon. Du finner en knapp "Vis API -token". For å bygge grunnleggende autentiseringsverdi, opprett en streng med mønsteret:

USER_NAME: API_TOKEN

og deretter kode den ved hjelp av Base64. F.eks. for ovennevnte falske streng, bør du få Base64 -verdi:

VVNFUl9OQU1FOkFQSV9UT0tFTg ==

Du må også angi din Jenkins vert, port og 2 jobber.

Etter dette oppsettet og opplasting av skissen - Du er klar til å bruke trafikklysene dine.

Koden er også tilgjengelig på GitHub.

Trinn 8: Siste ord

For å slå på enheten må du bare koble enheten til en hvilken som helst USB -kontakt. Den bruker WiFi -tilkobling for å få tilgang til Internett, så enhver fungerende USB -kontakt er OK - enten datamaskinport eller lader. Etter en oppstart og tilkobling til WiFi, begynner trafikklysene å vise gjeldende byggestatus.

Jeg synes dette lyskrysset er veldig nyttig. De står ved siden av skjermene mine på kontoret, og når rødt lys lyser - merker jeg det umiddelbart. Jeg trenger ikke kaste bort tid på å sjekke byggestatusene direkte på Jenkins.

En forbedring kan gjøres ved å bruke litt lyskryss i stedet for å bygge en selv fra bunnen av (søppel?).

Jeg håper du finner inspirasjon til å bygge dine egne Jenkins integrerte trafikklys.

Anbefalt: