พื้นฐาน CI — เรียกใช้ lint/test ทุกครั้งที่ push
ตั้งค่า CI ขนาดเล็ก ติดตั้งด้วย npm ci เรียกใช้ lint และการทดสอบ และรักษาวงจรรับผลตอบกลับที่รวดเร็ว
พื้นฐาน CI — เรียกใช้ lint/test ทุกครั้งที่ push เป็นบทเรียน JavaScript Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 3 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน JavaScript Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส JavaScript Academy มีบทเรียนทั้งหมด 3 บทเรียน
เหตุใดผู้เริ่มต้นจึงควรใช้ CI
เป้าหมาย: เรียกใช้การตรวจสอบทุกครั้งที่พุช
- ติดตั้งด้วย npm ci
- เรียกใช้สคริปต์ตรวจโค้ดและการทดสอบ
- รับผลตอบกลับอย่างรวดเร็วพร้อมบันทึกที่อ่านง่าย
- รักษา pipeline ให้มีขนาดเล็กสำหรับผู้เริ่มต้น

สคริปต์ที่ CI จะเรียกใช้
สร้างสคริปต์ตรวจโค้ดและการทดสอบขนาดเล็กใน package.json เพื่อให้ CI เรียกใช้ได้
// Minimal scripts your CI will call
const pkgScripts = {
lint: "eslint .",
test: "node test-runner.js"
};
console.log("scripts:", Object.keys(pkgScripts));
console.log("lint ->", pkgScripts.lint);
console.log("test ->", pkgScripts.test);

ขั้นตอนของ pipeline
pipeline ขนาดเล็ก: ดึงโค้ด → Node → npm ci → ตรวจโค้ด → การทดสอบ → ผลลัพธ์
// Simulate CI steps with prints
function runCI() {
console.log("🔹 Checkout code");
console.log("🔹 Use Node 20");
console.log("🔹 Install deps with npm ci");
console.log("🔹 Run: npm run lint");
console.log("🔹 Run: npm test");
console.log("✅ If all pass, mark build green");
}
runCI();

การทำงานของ GH (แบบย่อ)
กระบวนการทำงานขนาดเล็กนี้จะทำงานเมื่อมีการพุชและ PR ติดตั้งด้วย npm ci แล้วเรียกใช้การตรวจโค้ดและการทดสอบ
// Print a minimal GitHub Actions workflow (as lines)
const gha = [
"name: ci",
"on: [push, pull_request]",
"jobs:",
" build:",
" runs-on: ubuntu-latest",
" steps:",
" - uses: actions/checkout@v4",
" - uses: actions/setup-node@v4",
" with:",
" node-version: 20",
" - run: npm ci",
" - run: npm run lint",
" - run: npm test"
];
for (const l of gha) console.log(l);

ความเร็วและความชัดเจน
การทดสอบสั้น ๆ และผลลัพธ์ที่ชัดเจนทำให้ CI เหมาะกับผู้เริ่มต้น ค่อยเพิ่มขั้นตอนในภายหลัง
// Keep CI snappy: small tests, small logs
function ciTips() {
console.log("• Keep tests small and fast");
console.log("• Fail early; print clear messages");
console.log("• Cache deps (advanced later)");
console.log("• Lint + unit tests first; more later");
}
ciTips();

การทดสอบที่ CI เรียกใช้ได้
npm test ของคุณอาจเรียกใช้สคริปต์ขนาดเล็กในช่วงแรก แล้วค่อยเปลี่ยนไปใช้ Jest/Vitest ในภายหลัง
// A tiny local test runner you can call in CI
function assertEqual(actual, expected, name) {
if (actual === expected) console.log("✅", name);
else console.log("❌", name, "expected:", expected, "got:", actual);
}
function add(a, b) { return a + b; }
assertEqual(add(2, 3), 5, "add adds numbers");
function isAdult(age) { return age >= 18; }
assertEqual(isAdult(18), true, "adult boundary");

แบบทดสอบคำสั่งติดตั้งของ CI
ตรวจสอบอย่างรวดเร็ว: การติดตั้งใน CI ที่เคารพไฟล์ล็อก

ทบทวน
ทบทวน: CI ทำงานเมื่อมีการพุชแต่ละครั้ง: npm ci → ตรวจโค้ด → การทดสอบ รักษาการตรวจสอบให้มีขนาดเล็กและชัดเจน เพื่อให้ผู้เริ่มต้นได้รับผลตอบกลับอย่างรวดเร็ว

คำถามที่พบบ่อย
บทเรียน “พื้นฐาน CI — เรียกใช้ lint/test ทุกครั้งที่ push” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “พื้นฐาน CI — เรียกใช้ lint/test ทุกครั้งที่ push” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส JavaScript Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส JavaScript Academy มีบทเรียนทั้งหมด 3 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “พื้นฐาน CI — เรียกใช้ lint/test ทุกครั้งที่ push”
ตั้งค่า CI ขนาดเล็ก ติดตั้งด้วย npm ci เรียกใช้ lint และการทดสอบ และรักษาวงจรรับผลตอบกลับที่รวดเร็ว คุณปฏิบัติ JavaScript Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน JavaScript Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน JavaScript Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 3 บทเรียน
บทเรียน “พื้นฐาน CI — เรียกใช้ lint/test ทุกครั้งที่ push” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน JavaScript Academy นี้ได้ไหม
ได้ บทเรียน JavaScript Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- แนวคิดการทดสอบ — การตรวจยืนยันขนาดเล็ก AAA และแดง→เขียว→ปรับโครงสร้าง
- การตรวจรูปแบบด้วย ESLint และการจัดรูปแบบด้วย Prettier
- พื้นฐาน CI — เรียกใช้ lint/test ทุกครั้งที่ push