การแคชทรัพยากรพึ่งพาเพื่อเร่งการสร้าง
เร่งไปป์ไลน์ CI ด้วยการแคชทรัพยากรพึ่งพาและไฟล์ผลลัพธ์จากการสร้าง โดยใช้แอ็กชัน actions/cache คีย์ และคีย์สำหรับกู้คืน
การแคชทรัพยากรพึ่งพาเพื่อเร่งการสร้าง เป็นบทเรียน CI/CD with GitHub Actions & DevOps Pipelines ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน CI/CD with GitHub Actions & DevOps Pipelines และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส CI/CD with GitHub Actions & DevOps Pipelines มีบทเรียนทั้งหมด 4 บทเรียน
ต้นทุนของการติดตั้งใหม่
เวลาส่วนใหญ่ของการผสานรวมอย่างต่อเนื่องหมดไปกับการดาวน์โหลดและติดตั้งส่วนพึ่งพาเดิมซ้ำในการทำงานแต่ละครั้ง การแคช จะเก็บส่วนพึ่งพาเหล่านี้ไว้ระหว่างการทำงาน เพื่อให้การสร้างครั้งถัดไปนำงานเดิมกลับมาใช้ใหม่ ซึ่งมักช่วยลดเวลาในกระบวนการทำงานได้อย่างมาก
แอ็กชันแคช
GitHub มี actions/cache ให้ใช้ คุณระบุ เส้นทาง ที่ต้องการแคชและ คีย์ ที่ใช้ระบุรายการแคช เมื่อพบรายการที่ตรงกัน แอ็กชันจะคืนค่าเส้นทางนั้น หากไม่พบ แอ็กชันจะบันทึกเส้นทางดังกล่าวหลังงานเสร็จ
- uses: actions/cache@v4
with:
path: ~/.npm
key: npm-${{ hashFiles('package-lock.json') }}การออกแบบคีย์ที่ดี
คีย์ควรเปลี่ยนเฉพาะเมื่อเนื้อหาที่แคชไว้ควรเปลี่ยนเท่านั้น การคำนวณแฮชของไฟล์ล็อกจึงเหมาะอย่างยิ่ง เพราะไฟล์ล็อกใหม่หมายถึงส่วนพึ่งพาใหม่ จึงสร้างรายการแคชใหม่
key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}คีย์สำหรับคืนค่า
restore-keys จะระบุคำนำหน้าสำหรับใช้เป็นทางเลือก หากไม่พบคีย์ที่ตรงกัน แอ็กชันจะคืนค่าแคชล่าสุดที่มีคีย์ขึ้นต้นด้วยคำนำหน้านั้น ทำให้เริ่มต้นการทำงานต่อได้บางส่วนโดยมีข้อมูลพร้อมใช้งาน
restore-keys: |
${{ runner.os }}-npm-พบแคชเทียบกับไม่พบแคช
เมื่อคีย์ตรงกันทุกประการ คุณจะพบแคช และเส้นทางจะถูกคืนค่า เมื่อไม่พบ งานจะทำงานตามปกติและบันทึกแคชเมื่อสิ้นสุดโดยใช้คีย์หลัก เพื่อให้พร้อมใช้ในครั้งถัดไป
การแคชในชุดตั้งค่าที่มีมาให้
แอ็กชันสำหรับตั้งค่าภาษามีการแคชในตัว สำหรับโหนด setup-node ที่ใช้ cache: npm จะจัดการแคชส่วนพึ่งพาให้คุณ ไม่จำเป็นต้องเพิ่มขั้นตอนแคชแยกต่างหาก
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npmสิ่งที่ควรแคช
แคชไดเรกทอรีดาวน์โหลดของตัวจัดการแพ็กเกจ ไม่ใช่ node_modules ที่ติดตั้งแล้วเมื่อทำได้ เพราะแคชการดาวน์โหลดย้ายไปใช้ที่อื่นได้ และขั้นตอนติดตั้งยังคงตรวจสอบความถูกต้องครบถ้วน
- โหนด:
~/.npm - ไพธอน: แคชของไพพี
- Java:
~/.m2หรือแคชของ Gradle
ขอบเขตและข้อจำกัดของแคช
แคชมีขอบเขตตามสาขา โดยจะย้อนกลับไปใช้สาขาเริ่มต้นได้ และมีขนาดจำกัดต่อที่เก็บข้อมูล แคชที่ไม่ได้ใช้งานจะถูกนำออกเมื่อเวลาผ่านไป ดังนั้นควรออกแบบคีย์ให้เปลี่ยนแปลงอย่างเป็นระเบียบ
การหลีกเลี่ยงแคชเก่า
หากคีย์ไม่เคยเปลี่ยน คุณอาจได้รับส่วนพึ่งพาที่ล้าสมัย ควรผูกคีย์เข้ากับแฮชของไฟล์ล็อกเสมอ เพื่อให้การอัปเดตทำให้แคชใช้ไม่ได้โดยอัตโนมัติ
เมทริกซ์และ OS ในคีย์
ในการสร้างแบบเมทริกซ์ข้ามระบบปฏิบัติการหรือรุ่นต่าง ๆ ให้ใส่ runner.os และรุ่นไว้ในคีย์ เพื่อให้แต่ละรูปแบบมีแคชที่ถูกต้องเป็นของตัวเองและไม่ชนกัน
key: ${{ runner.os }}-node20-${{ hashFiles('package-lock.json') }}การวัดผลลัพธ์
เปรียบเทียบระยะเวลางานก่อนและหลังใช้แคช และดูตัวบ่งชี้การพบแคชในบันทึกการทำงาน อัตราการพบแคชที่ต่ำอย่างต่อเนื่องบ่งชี้ว่าคีย์เปลี่ยนบ่อยเกินไป
ตรวจสอบความเข้าใจ
ทดสอบความเข้าใจของคุณเกี่ยวกับการแคชส่วนพึ่งพา
ทบทวน
คุณเร่งการผสานรวมอย่างต่อเนื่องด้วยการแคชส่วนพึ่งพา โดยใช้แอ็กชัน actions/cache พร้อม คีย์ ที่อิงแฮชของไฟล์ล็อกและทางเลือก คีย์สำหรับคืนค่า ใช้การแคชในตัวของแอ็กชันตั้งค่า เลือกสิ่งที่ควรแคช ใส่ระบบปฏิบัติการและรุ่นในคีย์เมทริกซ์ และหลีกเลี่ยงแคชเก่าด้วยการผูกคีย์เข้ากับไฟล์ล็อก
คำถามที่พบบ่อย
บทเรียน “การแคชทรัพยากรพึ่งพาเพื่อเร่งการสร้าง” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การแคชทรัพยากรพึ่งพาเพื่อเร่งการสร้าง” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส CI/CD with GitHub Actions & DevOps Pipelines ให้อัปเกรดเป็น CoddyKit PRO คอร์ส CI/CD with GitHub Actions & DevOps Pipelines มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การแคชทรัพยากรพึ่งพาเพื่อเร่งการสร้าง”
เร่งไปป์ไลน์ CI ด้วยการแคชทรัพยากรพึ่งพาและไฟล์ผลลัพธ์จากการสร้าง โดยใช้แอ็กชัน actions/cache คีย์ และคีย์สำหรับกู้คืน คุณปฏิบัติ CI/CD with GitHub Actions & DevOps Pipelines ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน CI/CD with GitHub Actions & DevOps Pipelines หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน CI/CD with GitHub Actions & DevOps Pipelines บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “การแคชทรัพยากรพึ่งพาเพื่อเร่งการสร้าง” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน CI/CD with GitHub Actions & DevOps Pipelines นี้ได้ไหม
ได้ บทเรียน CI/CD with GitHub Actions & DevOps Pipelines ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ตัวกระตุ้นและเหตุการณ์ของเวิร์กโฟลว์
- การเรียกใช้การทดสอบด้วย GitHub Actions
- การตรวจรูปแบบและตรวจสอบคุณภาพโค้ด
- การแคชทรัพยากรพึ่งพาเพื่อเร่งการสร้าง