İçindekiler:

Jenkins İş Trafik Işıkları: 8 Adım (Resimli)
Jenkins İş Trafik Işıkları: 8 Adım (Resimli)

Video: Jenkins İş Trafik Işıkları: 8 Adım (Resimli)

Video: Jenkins İş Trafik Işıkları: 8 Adım (Resimli)
Video: TRAFİK İŞARETLERİ VE ANLAMLARI - TRAFİK LEVHALARI - EHLİYET TRAFİK İŞARETLERİ 2024, Kasım
Anonim
Jenkins İş Trafik Işıkları
Jenkins İş Trafik Işıkları

Yazılım mühendisliğinde sürekli entegrasyon, geliştiricilerin tüm çalışma kopyalarını günde birkaç kez paylaşılan bir ana hatta birleştirme uygulamasıdır. Bunu başarmak için en iyi uygulamalardan bazıları şunlardır:

  • herkes her gün temel çizgiyi taahhüt eder,
  • yapıyı otomatikleştirin,
  • herkes en son yapıların sonuçlarını görebilir.
  • …Ve bircok digerleri.

Yukarıdaki sadece bu 3 noktayı yerine getirmek için, yapı durumu hakkında mümkün olduğunca hızlı bir şekilde bilgilendirilmek önemlidir.

Bu proje, mevcut yapı durumunu gösteren mini, kişisel trafik ışıkları oluşturarak bunu başarmaya yardımcı olur. WiFi üzerinden periyodik olarak NodeMCU tarafından çekilen Jenkins otomasyon sunucusuna entegre 2 set trafik ışığı kurdum.

Adım 1: Malzemeler ve Araçlar

Kullandığım Malzemeler:

  • NodeMCU (v3 kullandım) (BangGood.com)
  • Erkek - Dişi devre tahtası atlama kabloları, (BangGood.com)
  • 2 set LED: kırmızı, sarı, yeşil (BangGood.com)
  • 2 set 3 direnç (450Ω, 500Ω, 22Ω)
  • 2 ince fakat uzun prototip PCB kartı (BangGood.com)
  • güç kaynağı olarak microUSB kablosu
  • Bir kutu (Birini yüksek voltajlı elektrik bileşenleri için kullandım. Yerel DIY perakendeci mağazamda birçok farklı şekil ve ucuz buldum)
  • 2 kalem veya 2 kalın boru 0,5-1 cm iç çap; ve/veya 2 kalın içecek pipeti

Gerekli araçlar:

  • Keskin bıçak (örneğin halı kesmek için maket bıçağı)
  • Döner alet
  • Sıcak yapıştırıcı tabancası
  • Lehimleme istasyonu
  • Pense, çapraz pense/yan kesiciler
  • Tornavida
  • Kalın kağıt parçası
  • Çift taraflı yapışkan bant
  • Sen

Adım 2: Trafik Işıkları

Trafik ışıkları
Trafik ışıkları
Trafik ışıkları
Trafik ışıkları
Trafik ışıkları
Trafik ışıkları

Trafik ışıkları oluşturmak için 20x80mm prototipleme tahtası kullanıyoruz. Lehim LED'leri, böylece bir çizgide konumlandırılırlar. Bu direnç değerlerini kullandım:

  • kırmızı: 510Ω
  • sarı: 470Ω
  • yeşil: 22Ω

Değerler önerilenden çok daha yüksektir (LED başına 20mA maksimum akım), ancak farklı değerlerle denemeler yapıldığında, ışık çok parlak değildir ve ayrıca 3'ü de benzer yoğunluğa sahiptir. NodeMCU için voltajın 3.3V olduğunu lütfen unutmayın.

Kablolama düzdür, her LED'in katotunu dirençle bağlayın (lehim) ve ardından jumper kablosunun erkek ucuna lehimleyin. Kartın bir tarafında, direnç ayakları, teller vb. gibi başka "açılan" parçalar olmadan yalnızca LED elemanları istedim. Bu yüzden PCB bileşenlerini kullanan bir tür SMD olan bir "teknik" kullandım.

Şimdilik böyle bırakıyoruz; ışıklar kapağı daha sonra yapılacaktır.

Adım 3: Kutu - Ana

Kutu - Ana
Kutu - Ana
Kutu - Ana
Kutu - Ana
Kutu - Ana
Kutu - Ana

NodeMCU'muzu kutunun altına gömmemiz gerekiyor. Ana üniteyi çalıştırabilmemiz için kutunun microUSB bağlantı noktası için bir deliğe ihtiyacı var. Delik konumunu kabaca ölçtüm ve sadece deldim.

Daha sonra plastik ayırıcıları vidalarla nodemcu'ya tutturdum. Kutunun her köşesine biraz yapıştırıcı sürdüm ve tüm yapıyı üzerine koydum. Soğuduktan sonra NodeMCU'yu söktüm ve ara parçaların etrafına NodeMCU için mükemmel bir şekilde yerleştirildiğinden emin olduğum bir miktar ek sıcak tutkal koydum. Bu sayede kutunun içinde hiçbir şey sallanmıyor ve microUSB portunu içerideki herhangi bir şeyi taşımadan kolayca takabiliyoruz.

Adım 4: Kutu - Kapak

Kutu - Kapak
Kutu - Kapak
Kutu - Kapak
Kutu - Kapak
Kutu - Kapak
Kutu - Kapak
Kutu - Kapak
Kutu - Kapak

İlk önce trafik ışıklarım için bir çubuk olarak bir içecek çubuğu kullanmaya çalıştım ama bazı testlerden sonra plastiğin çok ince olduğunu ve yapıştırmak için sıcak bir yapıştırıcı kullanmak istediğimde çok yumuşak olduğunu ve hatta değiştiğini öğrendim. onun şekli. Bu yüzden daha sert bir şey kullanmaya karar verdim - kalemler. Ucuz şeffaf kalemler seçtim, istediğim uzunlukta kestim ve trafik ışıklarından 4 kablo (birer birer) borunun içinden geçirdim.

Kapağın orta hattına kalemin çapına göre delikler açtım. Sonra kalemleri deliklere yerleştirdim ve direkleri düz tutmaya çalışarak kapağın alt tarafına yapıştırdım.

Ayrıca trafik ışıklarını direklere tutturmak için direğin üzerine biraz sıcak tutkal koydum.

Adım 5: Montaj

birleştirme
birleştirme
birleştirme
birleştirme

Kabloları NodeMCU'ya bağladım (pin çıkışı):

Sol trafik ışığı:

  • kırmızıdan D2'ye (GPIO4)
  • sarıdan D3'e (GPIO0)
  • yeşilden D4'e (GPIO2)
  • GND'ye topraklayın (NodeMCU'nun GND pinlerinden birini seçtim)

Sağ trafik ışığı:

  • kırmızıdan D5'e (GPIO14)
  • sarı ila D6 (GPIO12)
  • yeşil ila D7 (GPIO13)
  • GND'ye topraklayın (Sadece NodeMCU'nun GND pinlerinden birini seçtim)

…ve kapağı kapattım. Seçtiğim teller oldukça uzundu, bu yüzden hepsini küçük kutunun içine koymakta biraz zorlandım ama bir şekilde yapmayı başardım.

Adım 6: Işıkların Kapağı

Işıkların Kapağı
Işıkların Kapağı
Işıkların Kapağı
Işıkların Kapağı
Işıkların Kapağı
Işıkların Kapağı
Işıkların Kapağı
Işıkların Kapağı

Işık kapakları gibi hazır çözümler bulamadım - şekerlemelerden bir çeşit kutu. Bu yüzden onları kağıttan bir kutu keserek elle yapmaya karar verdim.

Seçtiğim kutunun boyutu şuydu: 20mm x 15mm x 85mm.

LED'lerin yerleştirildiği uygun yerlerde bir tür "yıldız" kesmek için delikleri kestim. Çift taraflı yapışkan bant kullanarak yapıştırdım.

Şeffaf direkleri kapatmak için, bir miktar kalıcı keçeli kalem, şeffaf olmayan scotch bant kullanabilirsiniz, … Ben uçtan uca kestiğim siyah içecek pipetleri kullandım. Sonra direkleri kapattım.

Nihai sonuçtan fazlasıyla mutlu oldum.

7. Adım: Yazılım

Mevcut yapı durumunu belirtmek için birçok yaklaşım vardır. Böyle bir davranış uyguladım:

Yapı başarısız olduğunda veya buna göre geçtiğinde kırmızı veya yeşil ışık yanar. Her HTTP çağrısı yapıldığında sarı ışık yanıp söner ve bir plan oluşturulduğunda sürekli olarak yanar.

Uygulamayı ihtiyaçlarınıza göre kolayca değiştirebilirsiniz - denemeye çalışın ve Size ve/veya Ekibinize uygun olanı kontrol edin.

NodeMCU'nuza yüklemeden önce kodu ayarlamanız gerekir. En fazla 2 WiFi ayarlamanız gerekir.

Ayrıca kullanıcı simgenizi ayarlamanız gerekir. API jetonunu almak için Jenkins'in sağ üst köşesindeki Kullanıcı adınızı ve ardından Yapılandırma'yı tıklayın. " API belirtecini göster " düğmesini bulabilirsiniz. Temel kimlik doğrulama değerini oluşturmak için kalıbı kullanarak bir dize oluşturun:

USER_NAME:API_TOKEN

ve ardından Base64 kullanarak kodlayın. Örneğin. yukarıdaki sahte dize için Base64 değerini almalısınız:

VVNFUl9OQU1FOkFQSV9UT0tFTg==

Ayrıca Jenkins sunucunuzu, bağlantı noktanızı ve 2 işin yollarını da ayarlamanız gerekir.

Bu kurulumdan ve krokiyi yükledikten sonra - Trafik ışıklarınızı kullanmaya hazırsınız.

Kod ayrıca GitHub'da da mevcuttur.

Adım 8: Son Sözler

Cihazı açmak için cihazı herhangi bir USB soketine bağlamanız yeterlidir. İnternete erişmek için WiFi bağlantısını kullanır, böylece bilgisayar bağlantı noktası veya şarj cihazı gibi çalışan herhangi bir USB soketi sorunsuz çalışır. Bir önyüklemeden ve WiFi'ye bağlandıktan sonra, trafik ışıklarınız mevcut yapı durumunu göstermeye başlayacaktır.

Bu trafik ışıklarını çok faydalı buluyorum. Ofiste monitörlerimin yanında duruyorlar ve ne zaman kırmızı ışık yansa - hemen fark ediyorum. Yapı durumlarını doğrudan Jenkins'te kontrol etmek için zaman kaybetmeme gerek yok.

Kendi başıma sıfırdan (önemsiz mi?)

Umarım kendi Jenkins entegre trafik ışıklarınızı oluşturmak için biraz ilham bulursunuz.

Önerilen: