ในตอนท้ายของบทความเกี่ยวกับ Angular ที่รวมกับการประมวลผลเวอร์ชัน Git Commit เรายังคงมีคำถามอยู่ ️ ตอนนี้เรามาสรุปปัญหา
และรวมเข้ากับ Jenkins build ได้ไหม เราจะรับข้อมูลบิลด์ เช่น หมายเลขบิลด์ และเติมกลับได้หรือไม่ ไปที่หน้า? [บทช่วยสอนที่เกี่ยวข้องที่แนะนำ: "บทช่วยสอนเชิงมุม"]
ดังนี้:
เอ่อ เรามาแก้ไขมันตามต้นฉบับกันดีกว่า
เพิ่มไฟล์ build_info.json
ลงในไดเร็กทอรีราก
{ }
คุณอ่านถูกต้องแล้ว เนื้อหาของ
build_info.json
คือ{}
ไฟล์ build_info.json
ถูกสร้างขึ้นเมื่อสร้าง Jenkinsfile
แนวคิดการใช้งานเฉพาะมีดังนี้:
ในระหว่างกระบวนการสร้าง ให้รัน Jenkinsfile
เพื่อสร้างไฟล์ build_info.json
เมื่อ
ทำแพ็กเกจโปรเจ็กต์ ให้พิจารณาว่าจะรับเนื้อหาของไฟล์ build_info.json
สำหรับสภาพแวดล้อมที่แตกต่างกันหรือ
ไม่ สภาพแวดล้อมที่นี่จะพิจารณาเฉพาะสภาพแวดล้อมการใช้งานจริง
ขั้นตอนคือ 2 ขั้นตอนง่ายๆ จุดที่สำคัญที่สุดคือ วิธีเขียนเนื้อหาของไฟล์ build_info.json
หากคุณไม่คุ้นเคยกับเนื้อหาที่เกี่ยวข้องกับ Jenkinsfile
โปรดอ่านบทความเกี่ยวกับการสร้างโปรเจ็กต์ Node แบบอัตโนมัติโดยใช้ Jenkins Pipeline และ Gitlab ณ จุดนี้ จุดเน้นของคุณอยู่ที่เนื้อหาของบทความ Jenkinsfile
ดังนี้:
ไปป์ไลน์ { ตัวแทนใดๆ เครื่องมือ { nodejs "nodejs" - { ระยะ เวที ('การพึ่งพา') { {ขั้นตอน sh 'ติดตั้ง npm' - - # เราได้เพิ่มเวทีที่นี่ ดูด้านล่าง? เวที ('สร้าง') { {ขั้นตอน sh 'npm ทำงานสะอาด' sh 'npm รันบิลด์' - - - }
เราได้เพิ่ม stage
เพื่อให้การเขียนไฟล์ build_info.json
เสร็จสมบูรณ์
เวที ('เวอร์ชัน') { {ขั้นตอน สคริปต์ { def อาแมป = 'build_number': BUILD_NUMBER, # หมายเลขบิวด์ 'job_name': JOB_NAME # ชื่องาน] # เขียนไฟล์ไฟล์ writeJSON: WORKSPACE+'build_info.json', json: amap # ไดเรกทอรีรากของ WORKSPACE} - }
ใช่ แนวคิดนี้โอเค... ใช่ไหม
มาดูขั้นตอนที่สองกันดีกว่า: อ่านเนื้อหาของ build_info.json
ฉันสกัดกั้นเนื้อหาของสภาพแวดล้อมการใช้งานจริงซึ่งเป็นส่วนหนึ่งของ version.js
:
// แนะนำไฟล์ build_info.json ที่สร้างขึ้น ให้ buildInfo = ต้องการ ('./build_info.json'); ถ้า (config.env === 'การผลิต') { // รับหมายเลขเวอร์ชันบิลด์ หรือรับเวอร์ชันเริ่มต้น versionObj.version = buildInfo.build_number || config.version }
หลังจากกรอกไฟล์ด้านบนเสร็จแล้ว คุณสามารถเผยแพร่ไปยังสภาพแวดล้อมที่เกี่ยวข้องได้ หากทุกอย่างเป็นไปด้วยดี คุณสามารถดูหมายเลขเวอร์ชันที่เกี่ยวข้องได้บนหน้าเว็บ
บทความนี้ไม่เกี่ยวข้องกับ angular
มากนัก แต่ใช้เพื่อร่วมมือกับ jenkins
เท่านั้น บทความถัดไปเป็นเรื่องเกี่ยวกับการใช้ Angular
เพื่อการพัฒนา spa
ดังนั้นโปรดคอยติดตาม
บทความนี้ทำซ้ำจาก: https://juejin.cn/post/7081642981890981895
ผู้เขียน: จิมมี่