0Pricing
DevOps Bootcamp · บทเรียน

การสร้างเวิร์กโฟลว์ CI/CD

สร้างไปป์ไลน์ CI/CD ที่ใช้งานได้จริงเพื่อสร้าง ทดสอบ และนำโค้ดไปใช้งานโดยอัตโนมัติเมื่อมีการพุชหรือคำขอพุช

การสร้างเวิร์กโฟลว์ CI/CD เป็นบทเรียน DevOps Bootcamp ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน DevOps Bootcamp และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 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) และปลดล็อคส่วนที่เหลือของคอร์ส DevOps Bootcamp ให้อัปเกรดเป็น CoddyKit PRO คอร์ส DevOps Bootcamp มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การสร้างเวิร์กโฟลว์ CI/CD”

สร้างไปป์ไลน์ CI/CD ที่ใช้งานได้จริงเพื่อสร้าง ทดสอบ และนำโค้ดไปใช้งานโดยอัตโนมัติเมื่อมีการพุชหรือคำขอพุช คุณปฏิบัติ DevOps Bootcamp ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน DevOps Bootcamp หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน DevOps Bootcamp บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “การสร้างเวิร์กโฟลว์ CI/CD” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน DevOps Bootcamp นี้ได้ไหม

ได้ บทเรียน DevOps Bootcamp ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. บทนำสู่ GitHub Actions
  2. การสร้างเวิร์กโฟลว์ CI/CD
  3. Actions แบบกำหนดเองและ Marketplace
  4. ข้อมูลลับและตัวแปรสภาพแวดล้อมใน Actions
← กลับไปที่ DevOps Bootcamp