Taula de continguts:

Semàfors de feina de Jenkins: 8 passos (amb imatges)
Semàfors de feina de Jenkins: 8 passos (amb imatges)

Vídeo: Semàfors de feina de Jenkins: 8 passos (amb imatges)

Vídeo: Semàfors de feina de Jenkins: 8 passos (amb imatges)
Vídeo: 8 инструментов в Excel, которыми каждый должен уметь пользоваться 2024, De novembre
Anonim
Semàfors de feina de Jenkins
Semàfors de feina de Jenkins

En enginyeria de programari, la integració contínua és la pràctica de combinar totes les còpies de treball del desenvolupador a una línia principal compartida diverses vegades al dia. Algunes de les millors pràctiques per aconseguir-ho són:

  • tothom es compromet a la línia de base cada dia,
  • automatitzar la construcció,
  • tothom pot veure els resultats de les darreres versions.
  • … i molts altres.

Per complir només aquests 3 punts anteriors, és important que se us notifiqui l'estat de la construcció el més ràpidament possible.

Aquest projecte ajuda a aconseguir-ho mitjançant la creació d’un mini semàfor personal que indiqui l’estat actual de la construcció. He construït 2 jocs de semàfors que s’integren al servidor d’automatització de Jenkins que NodeMCU tira regularment per WiFi.

Pas 1: materials i eines

Materials que he utilitzat:

  • NodeMCU (he utilitzat v3) (BangGood.com)
  • Cables de pont de taulers de panell masculí a femení, (BangGood.com)
  • 2 jocs de LED: vermell, groc, verd (BangGood.com)
  • 2 jocs de 3 resistències (450Ω, 500Ω, 22Ω)
  • 2 taulers de PCB de prototip prims però llargs (BangGood.com)
  • cable microUSB com a font d'alimentació
  • Algunes caixes (n’he fet servir per a components elèctrics d’alta tensió. He trobat moltes formes diferents i barates a la meva botiga de bricolatge local)
  • 2 bolígrafs o 2 tubs gruixuts de 0,5-1cm de diàmetre intern; i / o 2 palletes de beguda gruixudes

Eines necessàries:

  • Ganivet esmolat (per exemple, ganivet utilitzat per tallar catifes)
  • Eina rotativa
  • Pistola de cola calenta
  • Estació de soldadura
  • Alicates, alicates diagonals / talladores laterals
  • Tornavís
  • Tros de paper gruixut
  • Cinta adhesiva de doble cara
  • Vostè

Pas 2: semàfors

Semàfors
Semàfors
Semàfors
Semàfors
Semàfors
Semàfors

Per construir semàfors, fem servir taulers de prototipatge de 20x80mm. LED de soldadura perquè es posicionin en una línia. He utilitzat aquests valors de resistència:

  • vermell: 510Ω
  • groc: 470Ω
  • verd: 22Ω

Els valors són molt superiors als recomanats (20 mA de corrent màxim per LED), però experimentant amb diferents valors, la llum no és massa brillant i els 3 tenen una intensitat similar. Tingueu en compte que el voltatge és de 3,3 V per a NodeMCU.

El cablejat és directe, només heu de connectar (soldar) el càtode de cada LED amb resistència i, a continuació, soldar-lo al final masculí del cable de pont. En un costat de la placa només volia elements LED sense cap altra "aparició" de peces com potes de resistència, cables, etc. Per això he utilitzat una "tècnica" que és una mena de SMD que utilitza components de PCB.

Deixem-ho així per ara; la coberta dels llums es farà més tard.

Pas 3: quadre - principal

Caixa - Principal
Caixa - Principal
Caixa - Principal
Caixa - Principal
Caixa - Principal
Caixa - Principal

Hem d’incorporar el NodeMCU a la part inferior del quadre. La caixa necessita un forat per al port microUSB per poder alimentar la unitat principal. Vaig mesurar la posició del forat i vaig acabar de perforar-la.

Després he fixat els separadors de plàstic amb cargols per nodemcu. Vaig posar una mica de cola a cada cantonada de la caixa i hi vaig posar tota la construcció. Després de refredar-se, vaig descargolar NodeMCU i vaig posar una mica de cola calenta addicional al voltant dels separadors que estava segur que estaven perfectament posicionats per a NodeMCU. Gràcies a això, res no trontolla dins de la caixa i podem connectar fàcilment el port microUSB sense moure coses dins.

Pas 4: caixa - tapa

Caixa - Tapa
Caixa - Tapa
Caixa - Tapa
Caixa - Tapa
Caixa - Tapa
Caixa - Tapa
Caixa - Tapa
Caixa - Tapa

Primer vaig provar d’utilitzar pals de beguda com a pal per als semàfors, però després de fer algunes proves vaig descobrir que el plàstic era massa prim i, quan volia utilitzar una cola calenta per fixar-lo, es va posar molt suau i fins i tot va canviar la seva forma. Així que vaig decidir utilitzar alguna cosa més difícil: els bolígrafs. He triat uns bolígrafs transparents barats, que he tallat de la longitud desitjada i he posat 4 cables (1 a la vegada) dels semàfors a través de la canonada.

He forat una línia mitjana de la tapa segons el diàmetre de la ploma. Llavors vaig incrustar bolígrafs dins de forats i els vaig encolar a la part inferior de la tapa intentant mantenir els pals rectes.

També he posat una mica de cola calenta a la part superior del pal per fixar els taulers dels semàfors als pals.

Pas 5: Muntatge

Muntatge
Muntatge
Muntatge
Muntatge

He connectat cables al NodeMCU (pinout):

Semàfor esquerre:

  • vermell a D2 (GPIO4)
  • groc a D3 (GPIO0)
  • de color verd a D4 (GPIO2)
  • terra a GND (acabo de triar un dels passadors GND de NodeMCU)

Semàfor dret:

  • vermell a D5 (GPIO14)
  • groc a D6 (GPIO12)
  • de color verd a D7 (GPIO13)
  • terra a GND (Només he escollit un dels passadors GND de NodeMCU)

… i vaig tancar la tapa. Els cables que vaig triar eren força llargs, així que vaig tenir problemes per posar-los tots dins de la caixa petita, però d’alguna manera ho vaig aconseguir.

Pas 6: coberta de llums

Coberta de llums
Coberta de llums
Coberta de llums
Coberta de llums
Coberta de llums
Coberta de llums
Coberta de llums
Coberta de llums

No he pogut trobar cap solució preparada com a cobertes de llums, cap tipus de caixes de caramels més o menys. Així que vaig decidir construir-los a mà només tallant una caixa d’un paper.

La mida de la caixa que vaig triar era: 20 mm x 15 mm x 85 mm.

Vaig tallar els forats de manera que vaig tallar una mena d '"estrelles" en els llocs adequats on es posicionaven els LED. Els he enganxat amb cinta adhesiva de doble cara.

Per cobrir els pals transparents, podeu fer servir un retolador permanent, cinta escocesa no transparent, … He utilitzat palles negres que he tallat de punta a punta. Després vaig tapar els pals.

Estava més que content del resultat final.

Pas 7: programari

Hi ha molts enfocaments per indicar l’estat de construcció actual. He implementat aquest comportament:

El llum vermell o verd s’encén quan la construcció falla o passa en conseqüència. El llum groc parpelleja cada vegada que es fa una trucada HTTP i s’encén contínuament quan s’està construint un pla actualment.

Podeu canviar fàcilment la implementació segons les vostres necessitats: proveu d’experimentar i comproveu què s’adapta a vosaltres i / o al vostre equip.

Cal configurar el codi abans de penjar-lo al vostre NodeMCU. Heu d’establir un màxim de 2 WiFis.

També heu d’establir el vostre testimoni d’usuari. Per obtenir el testimoni API, feu clic a El vostre nom d'usuari a la part superior dreta de Jenkins i, a continuació, a Configuració. Podeu trobar el botó "Mostra el testimoni API". Per crear el valor d'autenticació bàsic, creeu una cadena mitjançant el patró:

USER_NAME: API_TOKEN

i després codifiqueu-lo amb Base64. Per exemple. per a una cadena falsa superior, hauríeu d'obtenir el valor Base64:

VVNFUl9OQU1FOkFQSV9UT0tFTg ==

També heu d’establir l’amfitrió Jenkins, el port i els dos camins de treball.

Després d’aquesta configuració i càrrega de l’esbós, ja podeu utilitzar els semàfors.

El codi també està disponible a GitHub.

Pas 8: Últimes paraules

Per engegar el dispositiu, només cal que el connecteu a qualsevol endoll USB. Utilitza connexió WiFi per accedir a Internet, de manera que qualsevol sòcol USB que funcioni estigui bé, ja sigui port d'ordinador o carregador. Després d'un arrencada i de la connexió a WiFi, els semàfors començaran a mostrar l'estat de construcció actual.

Em sembla molt útil aquest semàfor. Estan al costat dels meus monitors a l’oficina i sempre que s’encén el llum vermell, ho noto immediatament. No necessito perdre el temps per comprovar els estats de construcció directament a Jenkins.

Una millora es podria fer mitjançant l’ús de joguines de semàfors en lloc de construir-ne un de zero (brossa?).

Espero que trobeu alguna inspiració per construir el vostre propi semàfor integrat Jenkins.

Recomanat: