
ในตอนท้ายของบทความเกี่ยวกับ 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
ผู้เขียน: จิมมี่