สารบัญ:

Jenkins Job สัญญาณไฟจราจร: 8 ขั้นตอน (พร้อมรูปภาพ)
Jenkins Job สัญญาณไฟจราจร: 8 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Jenkins Job สัญญาณไฟจราจร: 8 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Jenkins Job สัญญาณไฟจราจร: 8 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: จำลองการจัดการสัญญาณไฟจราจร Anylogic Path 2 2024, พฤศจิกายน
Anonim
Jenkins Job สัญญาณไฟจราจร
Jenkins Job สัญญาณไฟจราจร

ในด้านวิศวกรรมซอฟต์แวร์ การผสานรวมอย่างต่อเนื่องเป็นแนวทางปฏิบัติในการรวมสำเนาการทำงานของนักพัฒนาทั้งหมดเข้ากับสายหลักที่ใช้ร่วมกันหลายครั้งต่อวัน แนวทางปฏิบัติที่ดีที่สุดบางประการเพื่อให้บรรลุเป้าหมาย ได้แก่:

  • ทุกคนมุ่งมั่นที่จะเป็นพื้นฐานทุกวัน
  • สร้างอัตโนมัติ,
  • ทุกคนสามารถเห็นผลลัพธ์ของงานสร้างล่าสุด
  • …และอื่น ๆ อีกมากมาย.

เพื่อให้เป็นไปตาม 3 จุดข้างต้นนี้ สิ่งสำคัญคือต้องได้รับแจ้งเกี่ยวกับสถานะบิลด์โดยเร็วที่สุด

โปรเจ็กต์นี้ช่วยให้บรรลุเป้าหมายนั้นด้วยการสร้างสัญญาณไฟจราจรส่วนบุคคลขนาดเล็กซึ่งระบุสถานะการสร้างในปัจจุบัน ฉันได้สร้างสัญญาณไฟจราจร 2 ชุดซึ่งรวมเข้ากับเซิร์ฟเวอร์อัตโนมัติของ Jenkins ซึ่ง NodeMCU ดึงเป็นระยะผ่าน WiFi

ขั้นตอนที่ 1: วัสดุและเครื่องมือ

วัสดุที่ฉันใช้:

  • NodeMCU (ฉันใช้ v3) (BangGood.com)
  • สายจัมเปอร์เขียงหั่นขนมชายกับหญิง (BangGood.com)
  • ไฟ LED 2 ชุด แดง เหลือง เขียว (BangGood.com)
  • ตัวต้านทาน 3 ตัว 2 ชุด (450Ω, 500Ω, 22Ω)
  • แผ่น PCB ต้นแบบบางแต่ยาว 2 แผ่น (BangGood.com)
  • สาย microUSB เป็นแหล่งจ่ายไฟ
  • กล่องบางกล่อง (ฉันใช้อันหนึ่งสำหรับส่วนประกอบไฟฟ้าแรงสูง ฉันพบหลายรูปทรงและราคาถูกในร้านค้าปลีก DIY ในพื้นที่ของฉัน)
  • 2 ปากกาหรือ 2 ท่อหนา 0.5-1 ซม. เส้นผ่านศูนย์กลางภายใน; และ/หรือหลอดดูดน้ำแบบหนา 2 หลอด

เครื่องมือที่จำเป็น:

  • มีดคม (เช่น มีดเอนกประสงค์สำหรับตัดพรม)
  • เครื่องมือโรตารี่
  • ปืนกาวร้อน
  • สถานีบัดกรี
  • คีม คีมปากเฉียง/คีมตัดข้าง
  • ไขควง
  • กระดาษหนาๆ
  • เทปกาวสองหน้า
  • คุณ

ขั้นตอนที่ 2: สัญญาณไฟจราจร

ไฟจราจร
ไฟจราจร
ไฟจราจร
ไฟจราจร
ไฟจราจร
ไฟจราจร

ในการสร้างสัญญาณไฟจราจร เราใช้บอร์ดต้นแบบขนาด 20x80 มม. ไฟ LED ประสานเพื่อให้อยู่ในแนวเดียวกัน ฉันใช้ค่าตัวต้านทานเหล่านี้:

  • สีแดง: 510Ω
  • สีเหลือง: 470Ω
  • สีเขียว: 22Ω

ค่าสูงกว่าที่แนะนำมาก (กระแสไฟสูงสุด 20mA ต่อ LED) แต่จากการทดลองด้วยค่าที่ต่างกัน แสงไม่สว่างเกินไป และทั้ง 3 มีความเข้มเท่ากัน โปรดทราบว่าแรงดันไฟฟ้าคือ 3.3V สำหรับ NodeMCU

เดินสายไฟตรงไปข้างหน้า เพียงเชื่อมต่อขั้วลบ (บัดกรี) ของ LED แต่ละดวงที่มีตัวต้านทาน จากนั้นประสานกับปลายสายจัมเปอร์ตัวผู้ ที่ด้านหนึ่งของบอร์ด ฉันต้องการเฉพาะองค์ประกอบ LED ที่ไม่มีส่วน "โผล่ขึ้นมา" อื่นๆ เช่น ขาตัวต้านทาน สายไฟ และอื่นๆ นั่นเป็นเหตุผลที่ฉันใช้ "เทคนิค" ซึ่งเป็นประเภท SMD ที่ใช้ส่วนประกอบ PCB

เราปล่อยให้มันเป็นแบบนี้ไปก่อน ฝาครอบไฟจะทำในภายหลัง

ขั้นตอนที่ 3: กล่อง - หลัก

กล่อง - หลัก
กล่อง - หลัก
กล่อง - หลัก
กล่อง - หลัก
กล่อง - หลัก
กล่อง - หลัก

เราจำเป็นต้องฝัง NodeMCU ของเราไว้ที่ด้านล่างของกล่อง กล่องต้องมีรูสำหรับพอร์ต microUSB เพื่อให้เราสามารถเปิดเครื่องหลักได้ ฉันวัดตำแหน่งรูอย่างคร่าวๆ แล้วฉันก็เจาะมัน

จากนั้นฉันก็ติดสเปเซอร์พลาสติกโดยใช้สกรูกับ nodemcu ฉันใส่กาวในแต่ละมุมของกล่องแล้ววางโครงสร้างทั้งหมดลงไป หลังจากที่เย็นตัวลง ฉันก็คลายเกลียว NodeMCU และใส่กาวร้อนเพิ่มเติมรอบๆ สเปเซอร์ ซึ่งฉันแน่ใจว่าอยู่ในตำแหน่งที่เหมาะสมที่สุดสำหรับ NodeMCU ต้องขอบคุณสิ่งนี้ที่ไม่มีอะไรโยกเยกอยู่ภายในกล่อง และเราสามารถต่อพอร์ต microUSB ได้อย่างง่ายดายโดยไม่ต้องเคลื่อนย้ายสิ่งของภายใน

ขั้นตอนที่ 4: กล่อง - ฝาปิด

กล่อง - ฝาปิด
กล่อง - ฝาปิด
กล่อง - ฝาปิด
กล่อง - ฝาปิด
กล่อง - ฝาปิด
กล่อง - ฝาปิด
กล่อง - ฝาปิด
กล่อง - ฝาปิด

ครั้งแรก ฉันพยายามใช้หลอดเครื่องดื่มเป็นเสาสัญญาณไฟจราจร แต่หลังจากการทดสอบ ฉันพบว่าพลาสติกบางเกินไป และเมื่อฉันต้องการใช้กาวร้อนในการติด มันก็นิ่มมากและเปลี่ยนไป รูปร่างของมัน ดังนั้นฉันจึงตัดสินใจใช้สิ่งที่หนักกว่า - ปากกา ฉันเลือกปากกาใสราคาถูกบางตัว ซึ่งฉันตัดตามความยาวที่ต้องการแล้ววางสายเคเบิล 4 เส้น (ครั้งละ 1 เส้น) จากสัญญาณไฟจราจรผ่านท่อ

ฉันเจาะรูตรงกลางฝาตามเส้นผ่านศูนย์กลางของปากกา จากนั้นฉันก็ฝังปากกาเข้าไปในรูและติดกาวไว้ที่ด้านล่างของฝาโดยพยายามตั้งเสาให้ตรง

ฉันยังติดกาวร้อนที่ด้านบนของเสาเพื่อติดแผงสัญญาณไฟจราจรเข้ากับเสา

ขั้นตอนที่ 5: การประกอบ

การประกอบ
การประกอบ
การประกอบ
การประกอบ

ฉันเชื่อมต่อสายเข้ากับ NodeMCU (pinout):

สัญญาณไฟจราจรด้านซ้าย:

  • สีแดงถึง D2 (GPIO4)
  • สีเหลืองเป็น D3 (GPIO0)
  • สีเขียวถึง D4 (GPIO2)
  • กราวด์เป็น GND (ฉันเพิ่งเลือกหนึ่งในพิน GND ของ NodeMCU)

สัญญาณไฟจราจรขวา:

  • สีแดงถึง D5 (GPIO14)
  • สีเหลืองถึง D6 (GPIO12)
  • สีเขียวถึง D7 (GPIO13)
  • กราวด์เป็น GND (ฉันเลือกหนึ่งในพิน GND ของ NodeMCU)

…และฉันก็ปิดฝา สายไฟที่ฉันเลือกนั้นค่อนข้างยาว ดังนั้นฉันจึงมีปัญหาเล็กน้อยในการใส่มันทั้งหมดลงในกล่องขนาดเล็ก แต่อย่างใดฉันก็ทำได้

ขั้นตอนที่ 6: ปกของไฟ

ปกไฟ
ปกไฟ
ปกไฟ
ปกไฟ
ปกไฟ
ปกไฟ
ปกไฟ
ปกไฟ

ฉันไม่พบวิธีแก้ปัญหาใดๆ ที่พร้อมเป็นฝาครอบไฟ - กล่องบางชนิดที่ทำจากลูกกวาดหรือประมาณนั้น ดังนั้นฉันจึงตัดสินใจสร้างมันด้วยมือเพียงแค่ตัดกล่องจากกระดาษ

ขนาดของกล่องที่ฉันเลือกคือ: 20 มม. x 15 มม. x 85 มม.

ฉันตัดรูเพื่อตัด "ดาว" ชนิดหนึ่งในตำแหน่งที่เหมาะสมซึ่งจัดตำแหน่ง LED ฉันติดมันโดยใช้เทปกาวสองหน้า

ในการปิดแท่งใส คุณสามารถใช้ปากกามาร์คเกอร์ถาวร สก๊อตเทปที่ไม่โปร่งใส … ฉันใช้หลอดเครื่องดื่มสีดำที่ตัดผ่านจากปลายจรดปลาย จากนั้นฉันก็ปิดเสา

ฉันมีความสุขมากกว่าผลสุดท้าย

ขั้นตอนที่ 7: ซอฟต์แวร์

มีหลายวิธีในการระบุสถานะการสร้างปัจจุบัน ฉันใช้พฤติกรรมดังกล่าว:

ไฟสีแดงหรือสีเขียวจะสว่างขึ้นเมื่อโครงสร้างล้มเหลวหรือผ่านไปตามนั้น ไฟสีเหลืองกะพริบทุกครั้งที่มีการเรียก HTTP และเปิดอย่างต่อเนื่องเมื่อกำลังสร้างแผน

คุณสามารถเปลี่ยนการใช้งานได้อย่างง่ายดายตามความต้องการของคุณ - ลองทดสอบและตรวจสอบว่าสิ่งใดที่เหมาะกับคุณและ/หรือทีมของคุณ

คุณต้องตั้งค่ารหัสก่อนอัปโหลดไปยัง NodeMCU ของคุณ คุณต้องตั้งค่า WiFi สูงสุด 2 เครื่อง

นอกจากนี้ คุณต้องตั้งค่าโทเค็นผู้ใช้ของคุณ ในการรับโทเค็น API ให้คลิกที่ชื่อผู้ใช้ของคุณที่ด้านบนขวาใน Jenkins จากนั้นไปที่การกำหนดค่า คุณจะพบปุ่ม " แสดงโทเค็น API " ในการสร้างค่าการพิสูจน์ตัวตนพื้นฐาน ให้สร้างสตริงโดยใช้รูปแบบ:

USER_NAME:API_TOKEN

แล้วเข้ารหัสโดยใช้ Base64 เช่น. สำหรับสตริงปลอมด้านบน คุณควรได้รับค่า Base64:

VVNFul9OQU1FOkFQSV9UT0tFTg==

คุณต้องตั้งค่าโฮสต์ Jenkins พอร์ตและเส้นทางของงาน 2 รายการด้วย

หลังจากตั้งค่านี้และอัปโหลดภาพร่าง - คุณพร้อมที่จะใช้สัญญาณไฟจราจรของคุณแล้ว

รหัสยังมีอยู่ใน GitHub

ขั้นตอนที่ 8: คำพูดสุดท้าย

ในการเปิดเครื่อง เพียงเชื่อมต่ออุปกรณ์เข้ากับช่องเสียบ USB มันใช้การเชื่อมต่อ WiFi เพื่อเข้าถึงอินเทอร์เน็ต ดังนั้นซ็อกเก็ต USB ที่ใช้งานได้ก็ใช้ได้ ไม่ว่าจะเป็นพอร์ตคอมพิวเตอร์หรือที่ชาร์จ หลังจากบูตเครื่องและเชื่อมต่อกับ WiFi สัญญาณไฟจราจรของคุณจะเริ่มแสดงสถานะการสร้างปัจจุบัน

ฉันพบว่าสัญญาณไฟจราจรนี้มีประโยชน์มาก พวกเขายืนอยู่ข้างจอภาพของฉันในสำนักงาน และเมื่อใดก็ตามที่ไฟสีแดงสว่างขึ้น ฉันสังเกตเห็นทันที ฉันไม่ต้องเสียเวลาตรวจสอบสถานะบิลด์บนเจนกินส์โดยตรง

การปรับปรุงอย่างหนึ่งสามารถทำได้โดยใช้ของเล่นสัญญาณไฟจราจรแทนการสร้างด้วยตัวเองตั้งแต่เริ่มต้น (ขยะ?)

ฉันหวังว่าคุณจะพบแรงบันดาลใจในการสร้างสัญญาณไฟจราจรแบบบูรณาการของเจนกินส์

แนะนำ: