Mündəricat:

Jenkins İş Svetoforları: 8 addım (şəkillərlə)
Jenkins İş Svetoforları: 8 addım (şəkillərlə)

Video: Jenkins İş Svetoforları: 8 addım (şəkillərlə)

Video: Jenkins İş Svetoforları: 8 addım (şəkillərlə)
Video: What is Jenkins? [ Jenkins Introduction | How Jenkins Works? | Advantages of Jenkins ] 2024, Noyabr
Anonim
Jenkins İş Svetoforları
Jenkins İş Svetoforları

Proqram mühəndisliyində davamlı inteqrasiya, bütün geliştirici işçi nüsxələrini gündə bir neçə dəfə paylaşılan bir ana xəttə birləşdirmək təcrübəsidir. Buna nail olmaq üçün ən yaxşı təcrübələrdən bəziləri bunlardır:

  • hər kəs hər gün təməl xəttini götürür,
  • quruluşunu avtomatlaşdırmaq,
  • hər kəs son quruluşların nəticələrini görə bilər.
  • … və bir çox başqaları.

Yuxarıdakı bu 3 nöqtəni yerinə yetirmək üçün qurulma vəziyyəti haqqında mümkün qədər tez xəbərdar olmaq vacibdir.

Bu layihə, cari tikinti vəziyyətini göstərən mini, şəxsi trafik işıqları yaradaraq buna nail olmağa kömək edir. NodeMCU tərəfindən vaxtaşırı WiFi vasitəsilə çəkilən Jenkins avtomatlaşdırma serverinə inteqrasiya edilmiş 2 ədəd işıqfor qurdum.

Addım 1: Materiallar və Alətlər

İstifadə etdiyim materiallar:

  • NodeMCU (v3 istifadə etdim) (BangGood.com)
  • Kişi -qadın çörək taxtası tullanan kabelləri, (BangGood.com)
  • 2 dəst LED: qırmızı, sarı, yaşıl (BangGood.com)
  • 2 dəst 3 müqavimət (450Ω, 500Ω, 22Ω)
  • 2 nazik, lakin uzun prototip PCB lövhəsi (BangGood.com)
  • microUSB kabeli enerji təchizatı olaraq
  • Bəzi qutu (elektrik yüksək gərginlikli komponentlər üçün istifadə etdim. Yerli DIY pərakəndə satış mağazamda bir çox fərqli forma və ucuz tapdım)
  • 2 qələm və ya 2 qalın boru 0,5-1 sm daxili diametri; və/və ya 2 qalın içki çubuğu

Lazımi alətlər:

  • Kəskin bıçaq (məsələn, xalça kəsmək üçün köməkçi bıçaq)
  • Rotary aləti
  • İsti yapışqan silahı
  • Lehim stansiyası
  • Kəlbətinlər, diaqonal kəlbətinlər/yan kəsicilər
  • Tornavida
  • Qalın kağız parçası
  • İki tərəfli yapışan bant
  • Sən

Addım 2: Svetoforlar

İşıqfor
İşıqfor
İşıqfor
İşıqfor
İşıqfor
İşıqfor

Svetofor qurmaq üçün 20x80 mm ölçülü prototip lövhəsindən istifadə edirik. Lehim LEDləri bir xəttə yerləşdirildikləri üçün. Bu müqavimət dəyərlərindən istifadə etdim:

  • qırmızı: 510Ω
  • sarı: 470Ω
  • yaşıl: 22Ω

Dəyərlər tövsiyə ediləndən çox yüksəkdir (LED başına 20mA maksimum cərəyan), lakin fərqli dəyərlərlə təcrübə apararkən işıq çox parlaq deyil və hər 3 -də oxşar intensivliyə malikdir. NodeMCU üçün gərginliyin 3.3V olduğunu unutmayın.

Kabel düzdür, hər LED -in katotunu rezistorla bağlayın və sonra keçid kabelinin kişi ucuna lehimləyin. Lövhənin bir tərəfində rezistor ayaqları, tellər və s. Buna görə PCB komponentlərindən istifadə edərək bir növ SMD olan bir "texnika" dan istifadə etdim.

Hələlik belə buraxırıq; İşıq örtüyü daha sonra hazırlanacaq.

Addım 3: Qutu - Əsas

Qutu - Əsas
Qutu - Əsas
Qutu - Əsas
Qutu - Əsas
Qutu - Əsas
Qutu - Əsas

NodeMCU'nuzu qutunun altına yerləşdirməliyik. Əsas vahidi işə salmaq üçün qutuda microUSB portu üçün bir çuxura ehtiyac var. Çuxurun mövqeyini ciddi şəkildə ölçdüm və yalnız qazdım.

Sonra plastik boşluqları vintlərdən istifadə edərək bağladım. Qutunun hər küncünə bir az yapışqan qoydum və bütün konstruksiyanı üstünə qoydum. Soyuduqdan sonra NodeMCU -nu açdım və NodeMCU üçün mükəmməl bir şəkildə yerləşdirildiyinə əmin olduğum aralıqların ətrafına əlavə isti yapışqan qoydum. Bunun sayəsində qutunun içərisində heç bir şey yellənmir və içərisindəki əşyaları hərəkət etdirmədən microUSB portunu asanlıqla bağlaya bilərik.

Addım 4: Qutu - Qapaq

Qutu - Qapaq
Qutu - Qapaq
Qutu - Qapaq
Qutu - Qapaq
Qutu - Qapaq
Qutu - Qapaq
Qutu - Qapaq
Qutu - Qapaq

Əvvəlcə svetoforlarım üçün dirək kimi içki çubuqlarından istifadə etməyə çalışdım, amma bəzi sınaqlardan sonra plastikin çox incə olduğunu öyrəndim və onu yapışdırmaq üçün isti yapışqan istifadə etmək istədikdə çox yumşaldı və hətta dəyişdi onun forması. Buna görə daha çətin bir şey - qələm istifadə etməyə qərar verdim. İstədiyiniz uzunluqda kəsdiyim və borudan trafik işıqlarından 4 kabel (bir anda 1) qoyduğum ucuz şəffaf qələmlər seçdim.

Qələmin diametrinə uyğun olaraq qapağın orta xəttində deliklər qazdım. Sonra qələmləri çuxurların içinə qoydum və dirəkləri düz tutmağa çalışaraq qapağın alt tərəfinə bağladım.

Svetofor lövhələrini dirəklərə bağlamaq üçün dirəyin üstünə bir az isti yapışqan da qoydum.

Addım 5: Montaj

Montaj
Montaj
Montaj
Montaj

NodeMCU -ya tel bağladım (pinout):

Sol işıqfor:

  • qırmızıdan D2 -yə (GPIO4)
  • sarıdan D3 -ə (GPIO0)
  • yaşıldan D4 -ə (GPIO2)
  • GND -ə əsaslandı (NodeMCU -nun GND pinindən birini seçdim)

Sıx işıqfor:

  • qırmızıdan D5 -ə (GPIO14)
  • sarıdan D6 -ya qədər (GPIO12)
  • D7 -dən yaşıl (GPIO13)
  • GND -ə əsaslanan yer (NodeMCU -nun GND pinindən birini seçdim)

… və qapağı bağladım. Seçdiyim tellər olduqca uzun idi, buna görə hamısını kiçik qutunun içinə salmaqda bir az problemim vardı, amma birtəhər bacardım.

Addım 6: İşıqların Qapağı

İşıq örtüyü
İşıq örtüyü
İşıq örtüyü
İşıq örtüyü
İşıq örtüyü
İşıq örtüyü
İşıq örtüyü
İşıq örtüyü

İşıq örtükləri kimi heç bir hazır həll tapa bilmədim - bir növ konfetdən qutular. Buna görə də onları kağızdan bir qutu kəsərək öz əllərimlə tikməyə qərar verdim.

Seçdiyim qutunun ölçüsü: 20mm x 15mm x 85mm.

Delikləri elə kəsdim ki, LED -lərin yerləşdiyi yerlərdə bir növ "ulduz" kəsim. Onları iki tərəfli yapışan bantla yapışdırdım.

Şəffaf dirəkləri örtmək üçün, bir az daimi marker, şəffaf olmayan skotç lentdən istifadə edə bilərsiniz …… Mən içdən çıxarılan qara içki çubuqlarından istifadə etdim. Sonra dirəkləri örtdüm.

Son nəticəyə görə daha çox sevindim.

Addım 7: Proqram təminatı

Mövcud quruluş vəziyyətini göstərmək üçün bir çox yanaşma var. Belə bir davranış tətbiq etdim:

Quruluş uğursuz olduqda və ya buna uyğun olaraq keçəndə qırmızı və ya yaşıl işıq yanır. Sarı işıq hər dəfə bir HTTP zəngi edildikdə yanıb -sönür və hazırda bir plan qurulduqda davamlı olaraq açılır.

Tətbiqinizi ehtiyaclarınıza uyğun olaraq asanlıqla dəyişə bilərsiniz - sınamağa çalışın və sizə və/və ya komandanıza uyğun olanı yoxlayın.

NodeMCU -ya yükləməzdən əvvəl kodu qurmalısınız. Maksimum 2 WiFis təyin etməlisiniz.

İstifadəçi nişanını da təyin etməlisiniz. API tokenini əldə etmək üçün Jenkins-də sağ üstdəki İstifadəçi adınızı, sonra Konfiqurasiyanı vurun. "API işarəsini göstər" düyməsini tapa bilərsiniz. Əsas identifikasiya dəyərini yaratmaq üçün nümunəni istifadə edərək bir simli yaradın:

USER_NAME: API_TOKEN

və sonra Base64 istifadə edərək kodlaşdırın. Məsələn, yuxarıdakı saxta sim üçün Base64 dəyərini almalısınız:

VVNFUl9OQU1FOkFQSV9UT0tFTg ==

Jenkins hostunuzu, limanınızı və 2 iş yolunuzu da təyin etməlisiniz.

Bu quraşdırma və eskizi yüklədikdən sonra - Svetoforlarınızı istifadə etməyə hazırsınız.

Kod GitHub -da da mövcuddur.

Addım 8: Son sözlər

Cihazı işə salmaq üçün cihazı istənilən USB yuvasına qoşmaq kifayətdir. İnternetə daxil olmaq üçün WiFi bağlantısından istifadə edir, buna görə işləyən hər hansı bir USB yuvası yaxşıdır - ya kompüter portu, ya da şarj cihazı. Bir açılışdan və WiFi -yə qoşulduqdan sonra, işıqforlarınız cari quruluş vəziyyətini göstərməyə başlayacaq.

Bu işıqforları çox faydalı hesab edirəm. Ofisdəki monitorlarımın yanında dayanırlar və qırmızı işıq yananda - bunu dərhal görürəm. Doğrudan Jenkins üzərində qurma statuslarını yoxlamaq üçün vaxt itirməyimə ehtiyac yoxdur.

Bir təkmilləşdirmə, tək başına sıfırdan tikmək əvəzinə bəzi svetofor oyuncaqları istifadə etməklə edilə bilər (zibil?).

Ümid edirəm ki, öz Jenkins inteqrasiya olunmuş işıqforlarınızı qurmaq üçün bir az ilham tapacaqsınız.

Tövsiyə: