การสร้างเวิร์กโฟลว์ CI/CD
สร้างไปป์ไลน์ CI/CD ที่ใช้งานได้จริงเพื่อสร้าง ทดสอบ และนำโค้ดไปใช้งานโดยอัตโนมัติเมื่อมีการพุชหรือคำขอพุช
การสร้างเวิร์กโฟลว์ CI/CD เป็นบทเรียน Git & GitHub Professional Workflow ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Git & GitHub Professional Workflow และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Git & GitHub Professional Workflow มีบทเรียนทั้งหมด 4 บทเรียน
ยินดีต้อนรับสู่ CI/CD
ในบทเรียนนี้ คุณจะได้เรียนรู้การสร้างไปป์ไลน์ การผสานรวมอย่างต่อเนื่อง (CI) และ การเผยแพร่อย่างต่อเนื่อง (CD) ที่ทรงพลังโดยใช้ GitHub Actions
CI/CD ช่วยทำให้กระบวนการพัฒนาซอฟต์แวร์ของคุณเป็นอัตโนมัติ ตั้งแต่การแก้ไขโค้ดไปจนถึงการเผยแพร่ ทำให้ทำงานได้เร็วขึ้นและน่าเชื่อถือยิ่งขึ้น
เหตุใด CI/CD จึงสำคัญ
เหตุใดระบบอัตโนมัติจึงมีความสำคัญอย่างยิ่งต่อการพัฒนาซอฟต์แวร์สมัยใหม่
- รับข้อมูลสะท้อนได้เร็วขึ้น: ค้นหาข้อบกพร่องและปัญหาการผสานรวมได้ตั้งแต่เนิ่น ๆ ด้วยการเรียกใช้การทดสอบโดยอัตโนมัติ
- การสร้างที่สม่ำเสมอ: ทำให้มั่นใจว่าการสร้างทุกครั้งใช้ขั้นตอนเดียวกัน ช่วยลดปัญหา “ใช้ได้บนเครื่องของฉัน”
- การเผยแพร่ที่น่าเชื่อถือ: เผยแพร่ฟีเจอร์ใหม่หรือการแก้ไขได้อย่างมั่นใจและมีข้อผิดพลาดจากการทำงานด้วยมือน้อยลง
- การทำงานร่วมกันที่ดีขึ้น: ทีมผสานรวมการเปลี่ยนแปลงได้บ่อยและราบรื่น ลดข้อขัดแย้งจากการรวมโค้ด
GitHub Actions: แนวคิดหลัก
GitHub Actions ใช้ เวิร์กโฟลว์ ที่กำหนดไว้ในไฟล์ YAML ไฟล์เหล่านี้อยู่ในไดเรกทอรีพิเศษของคลังโค้ดของคุณ: .github/workflows/
เวิร์กโฟลว์กำหนดชุดของ งาน และแต่ละงานประกอบด้วย ขั้นตอน ที่เรียกใช้คำสั่งหรือใช้แอ็กชันที่สร้างไว้ล่วงหน้า นี่คือวิธีบอก GitHub ว่าต้องทำอะไร
การสร้างเวิร์กโฟลว์ CI แรกของคุณ
มาสร้างเวิร์กโฟลว์ CI พื้นฐานที่ถูกกระตุ้นทุกครั้งที่มี push ไปยังคลังโค้ดของคุณ เวิร์กโฟลว์นี้จะตั้งค่า Node.js และจำลองกระบวนการสร้างโครงการ
บันทึกเนื้อหานี้เป็น .github/workflows/ci.yml ในคลังโค้ดของคุณ
name: Node.js CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
- name: Install dependencies
run: npm install
- name: Build project
run: node build.jsการจำลองสคริปต์การสร้าง
คำสั่ง node build.js ในเวิร์กโฟลว์จะเรียกใช้สคริปต์ลักษณะนี้ สคริปต์นี้จำลองการคอมไพล์ การรวมชุด หรือการเตรียมโค้ดของแอปพลิเคชัน
ลองเรียกใช้เพื่อดูผลลัพธ์
console.log("Starting project build...");
console.log(" - Compiling source files...");
console.log(" - Bundling assets for deployment...");
console.log("Build process finished successfully!");การเพิ่มการทดสอบอัตโนมัติ
ส่วนสำคัญของ CI คือการเรียกใช้การทดสอบโดยอัตโนมัติ มาขยายเวิร์กโฟลว์ของเราโดยเพิ่มขั้นตอนการทดสอบหลังจากติดตั้งส่วนที่ต้องพึ่งพา หากการทดสอบล้มเหลว เวิร์กโฟลว์ก็จะล้มเหลวด้วย จึงป้องกันไม่ให้โค้ดที่มีปัญหาดำเนินการต่อ
เราจะเพิ่มขั้นตอน test ดังนี้
name: Node.js CI
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
- name: Install dependencies
run: npm install
- name: Run tests
run: node test.js
- name: Build project
run: node build.jsการจำลองสคริปต์การทดสอบ
นี่คือตัวอย่างสคริปต์ test.js อย่างง่ายที่เวิร์กโฟลว์ของคุณอาจเรียกใช้ ในโครงการจริง จะใช้เฟรมเวิร์กการทดสอบอย่าง Jest หรือ Mocha แต่ตัวอย่างนี้จะแสดงหลักการเรียกใช้การทดสอบ
เรียกใช้เพื่อดูผลการทดสอบจำลอง
console.log("Running automated tests...");
const allTestsPass = Math.random() > 0.1; // Simulate 90% chance of passing
if (allTestsPass) {
console.log("All 12 tests passed successfully!");
} else {
console.error("Tests failed! Please fix the errors.");
process.exit(1); // Exit with a non-zero code to indicate failure
}ทำความรู้จักการเผยแพร่อย่างต่อเนื่อง (CD)
ในขณะที่ CI มุ่งเน้นที่การสร้างและการทดสอบ การเผยแพร่อย่างต่อเนื่อง (CD) จะก้าวไปอีกขั้นด้วยการเผยแพร่แอปพลิเคชันของคุณไปยังเซิร์ฟเวอร์หรือบริการคลาวด์โดยอัตโนมัติ เมื่อการตรวจสอบ CI ทั้งหมดผ่าน
ตัวกระตุ้น CD ที่พบบ่อย ได้แก่
- การสร้างแท็ก Git ใหม่ เช่น
v1.0.0 - การส่งโค้ดไปยังสาขาที่ระบุ เช่น
mainหรือproduction - การสร้างรีลีสของ GitHub
เวิร์กโฟลว์ CD อย่างง่าย
นี่คือตัวอย่างเวิร์กโฟลว์ที่ถูกกระตุ้นเมื่อมีแท็ก Git ใหม่ และมีขั้นตอนการเผยแพร่จำลอง ในสถานการณ์จริง ขั้นตอนนี้จะเชื่อมต่อกับผู้ให้บริการโฮสติ้งของคุณ เช่น AWS, Azure หรือ Heroku
บันทึกไฟล์นี้เป็น .github/workflows/cd.yml
name: Deploy to Production
on:
push:
tags:
- 'v*.*.*' # Triggers on tags like v1.0.0, v1.2.3
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Simulate deployment
run: |
echo "Deploying application to production server..."
echo "Version: ${{ github.ref_name }}"
echo "Deployment complete!"
# In a real scenario, you'd use a deployment action here
# e.g., aws-actions/configure-aws-credentials, appleboy/ssh-actionตรวจสอบเวิร์กโฟลว์ CI/CD
ข้อใดต่อไปนี้คือประโยชน์สำคัญของการนำไปป์ไลน์ CI/CD มาใช้
สรุป: การสร้าง CI/CD
คุณได้เรียนรู้วิธีสร้างเวิร์กโฟลว์ CI/CD ที่แข็งแกร่งด้วย GitHub Actions แล้ว
- เรานิยาม CI/CD และประโยชน์ของสิ่งนี้ต่อการพัฒนาสมัยใหม่
- เราสำรวจโครงสร้าง YAML ที่จำเป็นของเวิร์กโฟลว์ GitHub Actions
- เราสร้างเวิร์กโฟลว์ CI เพื่อทำให้การสร้างโครงการและการทดสอบเป็นอัตโนมัติ
- เราออกแบบเวิร์กโฟลว์ CD สำหรับการเผยแพร่อัตโนมัติที่ถูกกระตุ้นด้วยแท็ก
หมั่นทำงานต่าง ๆ ให้เป็นอัตโนมัติ เพื่อส่งมอบโค้ดได้เร็วขึ้นและมั่นใจยิ่งขึ้น
คำถามที่พบบ่อย
บทเรียน “การสร้างเวิร์กโฟลว์ CI/CD” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การสร้างเวิร์กโฟลว์ CI/CD” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Git & GitHub Professional Workflow ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Git & GitHub Professional Workflow มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การสร้างเวิร์กโฟลว์ CI/CD”
สร้างไปป์ไลน์ CI/CD ที่ใช้งานได้จริงเพื่อสร้าง ทดสอบ และนำโค้ดไปใช้งานโดยอัตโนมัติเมื่อมีการพุชหรือคำขอพุช คุณปฏิบัติ Git & GitHub Professional Workflow ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Git & GitHub Professional Workflow หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Git & GitHub Professional Workflow บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน
บทเรียน “การสร้างเวิร์กโฟลว์ CI/CD” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Git & GitHub Professional Workflow นี้ได้ไหม
ได้ บทเรียน Git & GitHub Professional Workflow ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- บทนำสู่ GitHub Actions
- การสร้างเวิร์กโฟลว์ CI/CD
- Actions แบบกำหนดเองและ Marketplace
- ข้อมูลลับและตัวแปรสภาพแวดล้อมใน Actions