Indholdsfortegnelse:

Jenkins jobtrafiklys: 8 trin (med billeder)
Jenkins jobtrafiklys: 8 trin (med billeder)

Video: Jenkins jobtrafiklys: 8 trin (med billeder)

Video: Jenkins jobtrafiklys: 8 trin (med billeder)
Video: seeing wife face for first time #shorts 2024, November
Anonim
Jenkins job trafiklys
Jenkins job trafiklys

I softwareteknik er kontinuerlig integration praksis med at flette alle udvikler -arbejdskopier til en delt hovedlinje flere gange om dagen. Nogle af de bedste metoder til at opnå det er:

  • alle forpligter sig til baseline hver dag,
  • automatisere opbygningen,
  • alle kan se resultaterne af de seneste builds.
  • …og mange andre.

For kun at opfylde disse 3 punkter ovenfor er det vigtigt at få besked om byggestatus så hurtigt som muligt.

Dette projekt hjælper med at opnå det ved at oprette et mini, personligt lyskryds, der angiver den aktuelle byggestatus. Jeg har bygget 2 sæt trafiklys, der er integreret i Jenkins automatiseringsserver, som regelmæssigt trækkes af NodeMCU via WiFi.

Trin 1: Materialer og værktøjer

Materialer jeg brugte:

  • NodeMCU (jeg brugte v3) (BangGood.com)
  • Mand til kvinde brødbræt jumper kabler, (BangGood.com)
  • 2 sæt lysdioder: rød, gul, grøn (BangGood.com)
  • 2 sæt med 3 modstande (450Ω, 500Ω, 22Ω)
  • 2 tynde men lange prototype printkort (BangGood.com)
  • microUSB -kabel som strømforsyning
  • Nogle kasser (jeg brugte en til elektriske højspændingskomponenter. Jeg fandt mange forskellige former og billige i min lokale byggemarked).
  • 2 penne eller 2 tykke rør 0,5-1 cm indvendig diameter; og/eller 2 tykke sugerør

Nødvendige værktøjer:

  • Skarp kniv (f.eks. Kniv til skæring af tæpper)
  • Roterende værktøj
  • Varm limpistol
  • Lodde station
  • Tænger, diagonal tang/sideskærer
  • Skruetrækker
  • Et stykke tykt papir
  • Dobbeltsidet tape
  • Du

Trin 2: Trafiklys

Trafiklys
Trafiklys
Trafiklys
Trafiklys
Trafiklys
Trafiklys

Til at bygge trafiklys bruger vi prototypebord 20x80mm. Lodde LED'er, så de er placeret i en linje. Jeg har brugt disse modstandsværdier:

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

Værdier er meget højere end anbefalet (20mA maks. Strøm pr. LED), men eksperimenterer med forskellige værdier, lyset er ikke for lyst, og også alle 3 har lignende intensitet. Bemærk, at spændingen er 3,3V for NodeMCU.

Ledninger er lige fremad, bare tilslut (lodning) katode på hver LED med modstand og derefter lodning til han -ende af jumperkabel. På den ene side af brættet ville jeg kun have LED -elementer uden andre "poppende" dele som modstandsben, ledninger og så videre. Derfor har jeg brugt en "teknik", som er en slags SMD, der bruger PCB -komponenter.

Vi lader det sådan her for nu; lysdækslet udføres senere.

Trin 3: Box - Main

Kasse - Main
Kasse - Main
Kasse - Main
Kasse - Main
Kasse - Main
Kasse - Main

Vi skal integrere vores NodeMCU i bunden af kassen. Boksen har brug for et hul til microUSB -port, så vi kan tænde for hovedenheden. Jeg målte latterligt hullets position, og jeg borede det bare.

Derefter fastgjorde jeg plastikafstandsstykkerne med skruer til at nodemcu. Jeg lagde lidt lim i hvert hjørne af kassen, og jeg lagde hele konstruktionen på den. Efter at det var kølet af, skruede jeg NodeMCU af og lagde lidt ekstra varm lim rundt om afstandsstykkerne, som jeg var sikker på var placeret perfekt til NodeMCU. Tak for det, der er ikke noget, der vakler inde i kassen, og vi kan nemt fastgøre microUSB -porten uden at flytte ting indeni.

Trin 4: Æske - låg

Æske - låg
Æske - låg
Æske - låg
Æske - låg
Æske - låg
Æske - låg
Æske - låg
Æske - låg

Først forsøgte jeg at bruge en drink sugerør som en stang til mine lyskryds, men efter nogle test fandt jeg ud af, at plastikken er for tynd, og da jeg ville bruge en varm lim til at fastgøre det, blev det bare meget blødt og endda ændret dens form. Så jeg besluttede mig for at bruge noget hårdere - penne. Jeg har valgt nogle billige gennemsigtige penne, som jeg skar af i ønsket længde og lagde 4 kabler (1 ad gangen) fra trafiklys gennem røret.

Jeg borede huller i en midterlinje af låget i henhold til pennens diameter. Derefter indstøbte jeg penne inde i huller, og jeg limede dem på undersiden af låget og forsøgte at holde stængerne lige.

Jeg lagde også lidt varm lim oven på stangen for at fastgøre lyskrydspladerne til stængerne.

Trin 5: Samling

Montering
Montering
Montering
Montering

Jeg sluttede ledninger til NodeMCU (pinout):

Venstre lyskryds:

  • rød til D2 (GPIO4)
  • gul til D3 (GPIO0)
  • grøn til D4 (GPIO2)
  • jorden til GND (jeg har lige valgt en af GND -stiften af NodeMCU)

Rigtigt lyskryds:

  • rød til D5 (GPIO14)
  • gul til D6 (GPIO12)
  • grøn til D7 (GPIO13)
  • jorden til GND (jeg valgte bare en af GND -stiften på NodeMCU)

… og jeg lukkede låget. De ledninger, jeg valgte, var ret lange, så jeg havde lidt problemer med at lægge dem alle inde i den lille kasse, men på en eller anden måde lykkedes det mig.

Trin 6: Lights 'Cover

Lysdæksel
Lysdæksel
Lysdæksel
Lysdæksel
Lysdæksel
Lysdæksel
Lysdæksel
Lysdæksel

Jeg kunne ikke finde nogen klare løsninger som et lysdæksel - en slags kasser fra slik eller deromkring. Så jeg besluttede at bygge dem i hånden bare ved at klippe en kasse af et papir.

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

Jeg skar hullerne, så jeg skar en slags "stjerner" på ordentlige steder, hvor lysdioderne var placeret. Jeg limede dem med dobbeltklæbende tape.

For at dække de gennemsigtige stænger kan du bruge en permanent markør, ikke -gennemsigtigt tape, … Jeg brugte sorte sugerør, som jeg skar igennem fra ende til anden. Derefter dækkede jeg stængerne.

Jeg var mere end glad for det endelige resultat.

Trin 7: Software

Der er mange metoder til at angive den aktuelle build -tilstand. Jeg implementerede sådan en adfærd:

Rødt eller grønt lys lyser, når bygningen fejler eller går i overensstemmelse hermed. Gult lys blinker hver gang der foretages et HTTP -opkald og tændes konstant, når en plan er i gang med at bygge.

Du kan nemt ændre implementeringen efter dine behov - prøv at eksperimentere og tjek, hvad der passer til dig og/eller dit team.

Du skal konfigurere koden, før du uploader den til din NodeMCU. Du skal indstille max 2 WiFis.

Du skal også indstille dit bruger -token. For at få API-token skal du klikke på Dit brugernavn øverst til højre i Jenkins og derefter på Konfiguration. Du kan finde en knap "Vis API -token". For at opbygge den grundlæggende godkendelsesværdi skal du oprette en streng ved hjælp af mønsteret:

USER_NAME: API_TOKEN

og derefter kode det ved hjælp af Base64. F.eks. for ovenstående falske streng, skal du få Base64 -værdi:

VVNFUl9OQU1FOkFQSV9UT0tFTg ==

Du skal også indstille din Jenkins vært, port og 2 jobs stier.

Efter denne opsætning og upload af skitsen - Du er klar til at bruge dine lyskryds.

Koden er også tilgængelig på GitHub.

Trin 8: Sidste ord

For at tænde enheden skal du bare slutte enheden til en hvilken som helst USB -stik. Den bruger WiFi -forbindelse til at få adgang til internettet, så enhver fungerende USB -stik er OK - enten computerport eller oplader. Efter en opstart og forbindelse til WiFi begynder dine trafiklys at vise den aktuelle byggestatus.

Jeg finder dette lyskryds meget nyttigt. De står ved siden af mine skærme på kontoret, og når der lyser rødt lys - bemærker jeg det med det samme. Jeg behøver ikke spilde tid på at kontrollere byggestatus direkte på Jenkins.

En forbedring kan gøres ved at bruge noget lyskryds i stedet for at bygge et selv fra bunden (uønsket?).

Jeg håber, at du finder inspiration til at bygge dine egne Jenkins integrerede lyskryds.

Anbefalede: