0Pricing
JavaScript Academy · 강의

CI 기초 — 모든 푸시마다 린트·테스트 실행

작은 CI를 설정합니다. npm ci로 설치하고 린트와 테스트를 실행해 빠른 피드백 순환을 유지합니다.

CI 기초 — 모든 푸시마다 린트·테스트 실행은(는) CoddyKit의 무료 JavaScript Academy 강의입니다. 이것은 3개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 JavaScript Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. JavaScript Academy 강의에는 총 3개의 강의가 포함되어 있습니다.

초보자에게 CI가 필요한 이유

목표: push할 때마다 확인을 실행합니다.

  • npm ci로 설치합니다
  • lint 및 test 스크립트를 실행합니다
  • 빠른 피드백과 간단한 로그를 제공합니다
  • 초보자를 위해 파이프라인을 작게 유지합니다
CI 기초 — 모든 푸시마다 린트·테스트 실행 — 일러스트레이션 1

CI가 실행할 스크립트

CI가 실행할 수 있도록 package.json에 작은 lint 및 test 스크립트를 만드십시오.

// 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);
CI 기초 — 모든 푸시마다 린트·테스트 실행 — 일러스트레이션 2

파이프라인 단계

작은 파이프라인은 소스 내려받기 → Node → npm ci → lint → test → 결과 순서로 진행됩니다.

// 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();
CI 기초 — 모든 푸시마다 린트·테스트 실행 — 일러스트레이션 3

GH 작업(최소 구성)

이 작은 작업 흐름은 push와 풀 리퀘스트에서 실행되며, npm ci로 설치한 다음 lint와 test를 실행합니다.

// 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 기초 — 모든 푸시마다 린트·테스트 실행 — 일러스트레이션 4

속도와 명확성

짧은 테스트와 명확한 출력은 초보자도 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 기초 — 모든 푸시마다 린트·테스트 실행 — 일러스트레이션 5

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 기초 — 모든 푸시마다 린트·테스트 실행 — 일러스트레이션 6

CI 설치 명령 퀴즈

빠른 확인: 잠금 파일을 따르는 CI 설치입니다.

CI 기초 — 모든 푸시마다 린트·테스트 실행 — 일러스트레이션 7

복습

복습: CI는 각 push에서 실행됩니다: npm ci → lint → test. 초보자가 빠르게 피드백을 받을 수 있도록 확인 항목을 작고 명확하게 유지하십시오.

CI 기초 — 모든 푸시마다 린트·테스트 실행 — 일러스트레이션 8

자주 묻는 질문

“CI 기초 — 모든 푸시마다 린트·테스트 실행” 강의는 무료인가요?

네 — “CI 기초 — 모든 푸시마다 린트·테스트 실행” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 JavaScript Academy 강의 전체를 잠금 해제할 수 있습니다. JavaScript Academy 강의에는 총 3개의 강의가 포함되어 있습니다.

“CI 기초 — 모든 푸시마다 린트·테스트 실행”에서 뭘 배우나요?

작은 CI를 설정합니다. npm ci로 설치하고 린트와 테스트를 실행해 빠른 피드백 순환을 유지합니다. 브라우저에서 직접 실행하는 실습 코드로 JavaScript Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

JavaScript Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 JavaScript Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 3개 중 3번째 강의입니다.

“CI 기초 — 모든 푸시마다 린트·테스트 실행” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 JavaScript Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 JavaScript Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 테스트 관점 — 작은 단정문, AAA, 실패→성공→리팩터링
  2. ESLint를 이용한 린팅과 Prettier 서식 지정
  3. CI 기초 — 모든 푸시마다 린트·테스트 실행
← JavaScript Academy(으)로 돌아가기