Daftar Isi:

Lampu Lalu Lintas Pekerjaan Jenkins: 8 Langkah (dengan Gambar)
Lampu Lalu Lintas Pekerjaan Jenkins: 8 Langkah (dengan Gambar)

Video: Lampu Lalu Lintas Pekerjaan Jenkins: 8 Langkah (dengan Gambar)

Video: Lampu Lalu Lintas Pekerjaan Jenkins: 8 Langkah (dengan Gambar)
Video: Asekkk😀😀😀 #shorts #pontianak #komedi 2024, November
Anonim
Lampu Lalu Lintas Pekerjaan Jenkins
Lampu Lalu Lintas Pekerjaan Jenkins

Dalam rekayasa perangkat lunak, integrasi berkelanjutan adalah praktik menggabungkan semua salinan kerja pengembang ke saluran utama bersama beberapa kali sehari. Beberapa praktik terbaik untuk mencapainya adalah:

  • setiap orang berkomitmen pada baseline setiap hari,
  • mengotomatiskan pembuatan,
  • semua orang dapat melihat hasil build terbaru.
  • …dan banyak lagi.

Untuk memenuhi 3 poin di atas saja, penting untuk diberitahu tentang status build secepat mungkin.

Proyek ini membantu mencapainya dengan membuat lampu lalu lintas pribadi mini yang menunjukkan status pembangunan saat ini. Saya telah membangun 2 set lampu lalu lintas yang terintegrasi ke server otomatisasi Jenkins yang ditarik oleh NodeMCU secara berkala melalui WiFi.

Langkah 1: Bahan dan Alat

Bahan yang saya gunakan:

  • NodeMCU (saya menggunakan v3) (BangGood.com)
  • Kabel jumper papan tempat memotong roti Pria ke Wanita, (BangGood.com)
  • 2 set LED: merah, kuning, hijau (BangGood.com)
  • 2 set 3 resistor (450Ω, 500Ω, 22Ω)
  • 2 papan PCB prototipe tipis tapi panjang (BangGood.com)
  • kabel microUSB sebagai catu daya
  • Beberapa kotak (saya menggunakan satu untuk komponen tegangan tinggi listrik. Saya menemukan berbagai bentuk dan murah di toko pengecer DIY lokal saya)
  • 2 pulpen atau 2 pipa tebal diameter dalam 0,5-1cm; dan/atau 2 sedotan minuman tebal

Alat yang dibutuhkan:

  • Pisau tajam (misalnya pisau utilitas untuk memotong karpet)
  • Alat putar
  • Pistol lem panas
  • Stasiun solder
  • Tang, tang diagonal / pemotong samping
  • Obeng
  • Sepotong kertas tebal
  • Pita perekat dua sisi
  • Anda

Langkah 2: Lampu Lalu Lintas

Lampu lalu lintas
Lampu lalu lintas
Lampu lalu lintas
Lampu lalu lintas
Lampu lalu lintas
Lampu lalu lintas

Untuk membangun lampu lalu lintas, kami menggunakan papan prototyping 20x80mm. Solder LED sehingga diposisikan dalam satu garis. Saya telah menggunakan nilai resistor ini:

  • merah: 510Ω
  • kuning: 470Ω
  • hijau: 22Ω

Nilainya jauh lebih tinggi dari yang direkomendasikan (arus maks 20mA per LED), tetapi bereksperimen dengan nilai yang berbeda, cahayanya tidak terlalu terang dan juga ketiganya memiliki intensitas yang sama. Harap dicatat bahwa tegangan 3.3V untuk NodeMCU.

Pengkabelan lurus ke depan, cukup sambungkan (solder) katoda masing-masing LED dengan resistor dan kemudian solder ke ujung kabel jumper jantan. Di satu sisi papan saya hanya menginginkan elemen LED tanpa bagian "muncul" lainnya seperti kaki resistor, kabel, dan sebagainya. Itu sebabnya saya menggunakan "teknik" yang merupakan semacam SMD menggunakan komponen PCB.

Kami membiarkannya seperti ini untuk saat ini; penutup lampu akan dilakukan kemudian.

Langkah 3: Kotak - Utama

Kotak - Utama
Kotak - Utama
Kotak - Utama
Kotak - Utama
Kotak - Utama
Kotak - Utama

Kita perlu menyematkan NodeMCU kita ke bagian bawah kotak. Kotak membutuhkan lubang untuk port microUSB sehingga kami dapat menyalakan unit utama. Saya mengukur secara kasar posisi lubang dan saya baru saja mengebornya.

Kemudian saya memasang spacer plastik menggunakan sekrup ke nodemcu. Saya menaruh beberapa lem di setiap sudut kotak dan saya meletakkan seluruh konstruksi di atasnya. Setelah dingin, saya membuka tutup NodeMCU dan menambahkan lem panas tambahan di sekitar spacer yang saya yakin diposisikan dengan sempurna untuk NodeMCU. Selain itu, tidak ada yang bergoyang di dalam kotak dan kami dapat dengan mudah memasang port microUSB tanpa memindahkan barang di dalamnya.

Langkah 4: Kotak - Tutup

Kotak - Tutup
Kotak - Tutup
Kotak - Tutup
Kotak - Tutup
Kotak - Tutup
Kotak - Tutup
Kotak - Tutup
Kotak - Tutup

Pertama saya mencoba menggunakan sedotan minuman sebagai tiang lampu lalu lintas saya tetapi setelah beberapa pengujian, saya menemukan bahwa plastiknya terlalu tipis dan ketika saya ingin menggunakan lem panas untuk menempelkannya, itu menjadi sangat lembut dan bahkan berubah bentuknya. Jadi saya memutuskan untuk menggunakan sesuatu yang lebih keras - pena. Saya telah memilih beberapa pena transparan murah, yang saya potong dengan panjang yang diinginkan dan menempatkan 4 kabel (1 sekaligus) dari lampu lalu lintas melalui pipa.

Saya mengebor lubang di garis tengah tutupnya sesuai dengan diameter pena. Kemudian saya menyematkan pena di dalam lubang dan saya menempelkannya di sisi bawah tutupnya untuk menjaga agar kutub tetap lurus.

Saya juga menempelkan lem panas di atas tiang untuk menempelkan papan lampu lalu lintas ke tiang.

Langkah 5: Perakitan

Perakitan
Perakitan
Perakitan
Perakitan

Saya menghubungkan kabel ke NodeMCU (pinout):

Lampu lalu lintas kiri:

  • merah ke D2 (GPIO4)
  • kuning ke D3 (GPIO0)
  • hijau ke D4 (GPIO2)
  • ground ke GND (saya baru saja memilih salah satu pin GND dari NodeMCU)

Lampu lalu lintas kanan:

  • merah ke D5 (GPIO14)
  • kuning ke D6 (GPIO12)
  • hijau ke D7 (GPIO13)
  • ground ke GND (Saya hanya memilih salah satu pin GND dari NodeMCU)

…dan saya menutup tutupnya. Kabel yang saya pilih cukup panjang jadi saya punya sedikit masalah dengan memasukkan semuanya ke dalam kotak kecil, tapi entah bagaimana saya berhasil melakukannya.

Langkah 6: Penutup Lampu

Penutup Lampu
Penutup Lampu
Penutup Lampu
Penutup Lampu
Penutup Lampu
Penutup Lampu
Penutup Lampu
Penutup Lampu

Saya tidak dapat menemukan solusi siap pakai sebagai penutup lampu - semacam kotak dari permen atau lebih. Jadi saya memutuskan untuk membuatnya dengan tangan hanya dengan memotong kotak dari kertas.

Ukuran kotak yang saya pilih adalah: 20mm x 15mm x 85mm.

Saya memotong lubang sehingga saya memotong semacam "bintang" di tempat yang tepat di mana LED diposisikan. Saya merekatkannya menggunakan pita perekat dua sisi.

Untuk menutupi tiang transparan, Anda dapat menggunakan beberapa spidol permanen, selotip tidak transparan, … Saya menggunakan sedotan minuman hitam yang saya potong dari ujung ke ujung. Lalu saya menutupi tiang.

Saya lebih dari senang dengan hasil akhir.

Langkah 7: Perangkat Lunak

Ada banyak pendekatan untuk menunjukkan status build saat ini. Saya menerapkan perilaku seperti itu:

Lampu merah atau hijau menyala saat build gagal atau lolos. Lampu kuning berkedip setiap kali ada panggilan HTTP dan terus menyala saat rencana sedang dibangun.

Anda dapat dengan mudah mengubah implementasi sesuai dengan kebutuhan Anda - cobalah bereksperimen dan periksa apa yang cocok untuk Anda dan/atau tim Anda.

Anda perlu mengatur kode sebelum mengunggahnya ke NodeMCU Anda. Anda perlu mengatur maksimal 2 WiFi.

Anda juga perlu mengatur token pengguna Anda. Untuk mendapatkan token API, klik Nama pengguna Anda di kanan atas di Jenkins, lalu Konfigurasi. Anda dapat menemukan tombol " Tampilkan token API ". Untuk membangun nilai otentikasi Dasar, buat string menggunakan pola:

USER_NAME:API_TOKEN

dan kemudian menyandikannya menggunakan Base64. Misalnya. untuk string palsu di atas, Anda harus mendapatkan nilai Base64:

VVNFul9OQU1FOkFQSV9UT0tFTg==

Anda juga harus mengatur jalur host, port, dan 2 pekerjaan Jenkins Anda.

Setelah pengaturan ini dan mengunggah sketsa - Anda siap menggunakan lampu lalu lintas Anda.

Kode juga tersedia di GitHub.

Langkah 8: Kata-kata Terakhir

Untuk menyalakan perangkat, cukup sambungkan perangkat ke soket USB apa pun. Ini menggunakan koneksi WiFi untuk mengakses Internet sehingga soket USB apa pun yang berfungsi baik-baik saja - baik port komputer atau pengisi daya. Setelah boot dan terhubung ke WiFi, lampu lalu lintas Anda akan mulai menunjukkan status build saat ini.

Saya menemukan lampu lalu lintas ini sangat berguna. Mereka berdiri di samping monitor saya di kantor dan setiap kali lampu merah menyala - saya segera menyadarinya. Saya tidak perlu membuang waktu untuk memeriksa status build langsung di Jenkins.

Salah satu perbaikan dapat dilakukan dengan menggunakan beberapa mainan lampu lalu lintas daripada membangunnya sendiri dari awal (sampah?).

Saya harap Anda menemukan inspirasi untuk membuat lampu lalu lintas terintegrasi Jenkins Anda sendiri.

Direkomendasikan: