Cuprins:

Semafoare Jenkins: 8 pași (cu imagini)
Semafoare Jenkins: 8 pași (cu imagini)

Video: Semafoare Jenkins: 8 pași (cu imagini)

Video: Semafoare Jenkins: 8 pași (cu imagini)
Video: Remember Him This Is Why He's No Longer an Actor 2024, Noiembrie
Anonim
Semafoare Jenkins
Semafoare Jenkins

În ingineria software, integrarea continuă este practica de a fuziona toate copiile de lucru ale dezvoltatorilor pe o linie principală partajată de mai multe ori pe zi. Unele dintre cele mai bune practici pentru realizare sunt:

  • toată lumea se angajează la linia de bază în fiecare zi,
  • automatizează construcția,
  • toată lumea poate vedea rezultatele ultimelor versiuni.
  • …și multe altele.

Pentru a îndeplini doar aceste 3 puncte de mai sus, este important să fiți informat cu privire la starea de construire cât mai repede posibil.

Acest proiect ajută la realizarea acestui lucru prin crearea unui mini semafor personal care indică starea actuală a construcției. Am construit 2 seturi de semafoare care sunt integrate serverului de automatizare Jenkins, care este tras de NodeMCU periodic prin WiFi.

Pasul 1: Materiale și instrumente

Materiale pe care le-am folosit:

  • NodeMCU (am folosit v3) (BangGood.com)
  • Cabluri jumper de la mascul la feminin, (BangGood.com)
  • 2 seturi de LED-uri: roșu, galben, verde (BangGood.com)
  • 2 seturi de 3 rezistențe (450Ω, 500Ω, 22Ω)
  • 2 plăci PCB subțiri, dar lungi, prototip (BangGood.com)
  • cablu microUSB ca sursă de alimentare
  • Câteva cutii (am folosit una pentru componente electrice de înaltă tensiune. Am găsit multe forme diferite și ieftine în magazinul meu local de bricolaj)
  • 2 pixuri sau 2 țevi groase 0,5-1cm diametru interior; și / sau 2 paie groase de băut

Instrumente necesare:

  • Cuțit ascuțit (de ex. Cuțit utilitar pentru tăierea covorului)
  • Instrument rotativ
  • Pistol de lipit fierbinte
  • Stație de lipit
  • Cleste, cleste diagonale / freze laterale
  • Şurubelniţă
  • Bucată de hârtie groasă
  • Bandă adezivă pe două fețe
  • Tu

Pasul 2: Semafoare

Semafor
Semafor
Semafor
Semafor
Semafor
Semafor

Pentru a construi semafoare, folosim placa de prototipare 20x80mm. LED-uri de lipit astfel încât să fie poziționate într-o linie. Am folosit aceste valori ale rezistorului:

  • roșu: 510Ω
  • galben: 470Ω
  • verde: 22Ω

Valorile sunt mult mai mari decât cele recomandate (20mA curent maxim pe LED), dar experimentând cu valori diferite, lumina nu este prea strălucitoare și, de asemenea, toate cele 3 au o intensitate similară. Vă rugăm să rețineți că tensiunea este de 3,3 V pentru NodeMCU.

Cablarea este directă, conectați (lipiți) catodul fiecărui LED cu rezistor și apoi lipiți la capătul tată al cablului jumper. Pe o parte a plăcii am vrut doar elemente cu LED-uri, fără alte piese „popping up”, cum ar fi picioarele rezistorului, firele și așa mai departe. De aceea am folosit o „tehnică” care este un fel de SMD care utilizează componente PCB.

O lăsăm așa deocamdată; capacul luminilor se va face mai târziu.

Pasul 3: Casetă - Principal

Casetă - Principal
Casetă - Principal
Casetă - Principal
Casetă - Principal
Casetă - Principal
Casetă - Principal

Trebuie să încorporăm NodeMCU în partea de jos a casetei. Cutia are nevoie de o gaură pentru portul microUSB, astfel încât să putem alimenta unitatea principală. Am măsurat grosolan poziția găurii și tocmai am forat-o.

Apoi am atașat distanțierele din plastic folosind șuruburi pentru a nodemcu. Am pus niște lipici în fiecare colț al cutiei și am pus toată construcția pe ea. După ce s-a răcit, am deșurubat NodeMCU și am pus niște adeziv fierbinte suplimentar în jurul distanțierelor, care eram sigur că erau poziționate perfect pentru NodeMCU. Mulțumim pentru asta, nimic nu se clatină în interiorul cutiei și putem atașa cu ușurință portul microUSB fără a muta lucruri în interior.

Pasul 4: Cutie - Capac

Cutie - Capac
Cutie - Capac
Cutie - Capac
Cutie - Capac
Cutie - Capac
Cutie - Capac
Cutie - Capac
Cutie - Capac

Mai întâi am încercat să folosesc o băutură paie ca un stâlp pentru semafoarele mele, dar după câteva teste, am aflat că plasticul este prea subțire și când am vrut să folosesc un adeziv fierbinte pentru a-l atașa, a devenit foarte moale și chiar s-a schimbat forma sa. Așa că am decis să folosesc ceva mai greu - pixuri. Am ales niște pixuri transparente ieftine, pe care le-am tăiat în lungimea dorită și am pus 4 conductoare (câte unul) de la semafoare prin conductă.

Am făcut găuri într-o linie de mijloc a capacului în funcție de diametrul stiloului. Apoi am încorporat pixuri în găuri și le-am lipit pe partea inferioară a capacului, încercând să mențin stâlpii drepți.

Am pus și câteva lipici fierbinți deasupra stâlpului pentru a atașa panourile semaforelor la stâlpi.

Pasul 5: Asamblarea

Asamblare
Asamblare
Asamblare
Asamblare

Am conectat fire la NodeMCU (pinout):

Semafor stânga:

  • roșu la D2 (GPIO4)
  • galben până la D3 (GPIO0)
  • verde la D4 (GPIO2)
  • de la sol la GND (tocmai am ales unul dintre pinii GND ai NodeMCU)

Semafor RIght:

  • roșu până la D5 (GPIO14)
  • galben până la D6 (GPIO12)
  • verde la D7 (GPIO13)
  • de la sol la GND (tocmai am ales unul dintre pinii GND ai NodeMCU)

… și am închis capacul. Sârmele pe care le-am ales au fost destul de lungi, așa că am avut mici probleme cu a le pune pe toate în cutia mică, dar cumva am reușit să o fac.

Pasul 6: Coperta Lights

Coperta Luminilor
Coperta Luminilor
Coperta Luminilor
Coperta Luminilor
Coperta Luminilor
Coperta Luminilor
Coperta Luminilor
Coperta Luminilor

Nu am putut găsi nicio soluție gata ca huse de lumină - un fel de cutii din bomboane sau cam așa ceva. Așa că am decis să le construiesc manual doar tăind o cutie dintr-o hârtie.

Dimensiunea cutiei pe care am ales-o a fost: 20mm x 15mm x 85mm.

Am tăiat găurile astfel încât să tai un fel de „stele” în locurile potrivite în care erau poziționate LED-urile. Le-am lipit folosind bandă adezivă pe două fețe.

Pentru a acoperi stâlpii transparenți, puteți folosi un marker permanent, bandă scotch netransparentă, … Am folosit paie negre pe care le-am tăiat de la capăt la cap. Apoi am acoperit stâlpii.

Am fost mai mult decât fericit de rezultatul final.

Pasul 7: Software

Există multe abordări pentru a indica starea actuală de construire. Am implementat un astfel de comportament:

Lumina roșie sau verde se aprinde atunci când construcția eșuează sau trece în consecință. Lumina galbenă clipește de fiecare dată când se efectuează un apel HTTP și se aprinde continuu când se construiește în prezent un plan.

Puteți schimba cu ușurință implementarea în funcție de nevoile dvs. - încercați să experimentați și să verificați ce se potrivește dvs. și / sau echipei dvs.

Trebuie să configurați codul înainte de al încărca pe NodeMCU. Trebuie să setați maximum 2 WiFis.

De asemenea, trebuie să setați simbolul dvs. de utilizator. Pentru a obține simbolul API, faceți clic pe Numele dvs. de utilizator în partea dreaptă sus în Jenkins, apoi pe Configurare. Puteți găsi un buton „Afișați simbolul API”. Pentru a construi valoarea de autentificare de bază, creați un șir folosind modelul:

USER_NAME: API_TOKEN

și apoi codificați-l folosind Base64. De exemplu. pentru șirul fals de deasupra, ar trebui să obțineți valoarea Base64:

VVNFUl9OQU1FOkFQSV9UT0tFTg ==

Trebuie să setați, de asemenea, gazda dvs. Jenkins, portul și 2 căi de locuri de muncă.

După această configurare și încărcarea schiței - Sunteți gata să utilizați semaforul.

Codul este disponibil și pe GitHub.

Pasul 8: Ultimele cuvinte

Pentru a porni dispozitivul, conectați dispozitivul la orice priză USB. Folosește conexiunea WiFi pentru a accesa Internetul, astfel încât orice priză USB funcțională este OK - fie portul computerului, fie încărcătorul. După pornire și conectare la WiFi, semaforul dvs. va începe să afișeze starea actuală de construire.

Mi se pare foarte util acest semafor. Ei stau lângă monitoarele mele în birou și ori de câte ori se aprinde lumina roșie - o observ imediat. Nu trebuie să pierd timp pentru a verifica stările de construcție direct pe Jenkins.

O îmbunătățire s-ar putea face folosind niște jucării cu semafoare în loc să construiesc unul singur de la zero (junk?).

Sper că veți găsi o inspirație pentru a vă construi propriile semafoare integrate Jenkins.

Recomandat: