JavaScript Academy · レッスン

CIの基礎 — pushごとにlint/testを実行

小さなCIを設定します。npm ciでインストールし、lintとテストを実行して、素早いフィードバックループを保ちます。

レッスン 3/38 ステップ

「CIの基礎 — pushごとにlint/testを実行」はCoddyKit上の無料JavaScript Academyレッスンです。 これはレッスン3/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはJavaScript Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 JavaScript Academyコースには全3レッスンが含まれています。

初心者にCIが必要な理由

目標:プッシュするたびにチェックを実行します。

  • npm ciでインストールします
  • lintとtestのscriptsを実行します
  • 素早いフィードバックと、シンプルなログを得ます
  • 初心者向けにパイプラインを小さく保ちます
CIの基礎 — pushごとにlint/testを実行 — イラスト1

CIが実行するscripts

CIが実行できるように、package.jsonに小さなlintとtestのscriptsを作成します。

// 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の基礎 — pushごとにlint/testを実行 — イラスト2

パイプラインの手順

小さなパイプラインは、checkout → 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の基礎 — pushごとにlint/testを実行 — イラスト3

GH Actions(最小構成)

この小さなワークフローはプッシュとPRで実行され、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の基礎 — pushごとにlint/testを実行 — イラスト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の基礎 — pushごとにlint/testを実行 — イラスト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の基礎 — pushごとにlint/testを実行 — イラスト6

CIのインストールコマンドのクイズ

クイックチェック:lockfileに従ってCIでインストールします。

CIの基礎 — pushごとにlint/testを実行 — イラスト7

まとめ

まとめ:CIはプッシュするたびに、npm ci → lint → testを実行します。初心者が素早くフィードバックを得られるように、チェックは小さく明確に保ちます。

CIの基礎 — pushごとにlint/testを実行 — イラスト8
無料で開始

AI チューターと学ぶ JavaScript — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
59
レッスン
200

よくある質問

「CIの基礎 — pushごとにlint/testを実行」レッスンは無料ですか?

はい。「CIの基礎 — pushごとにlint/testを実行」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、JavaScript Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 JavaScript Academyコースには全3レッスンが含まれています。

「CIの基礎 — pushごとにlint/testを実行」で何を学びますか?

小さなCIを設定します。npm ciでインストールし、lintとテストを実行して、素早いフィードバックループを保ちます。 ブラウザで直接実行するハンズオンコードでJavaScript Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

JavaScript Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのJavaScript Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/3です。

「CIの基礎 — pushごとにlint/testを実行」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このJavaScript Academyレッスンでコードを書いて実行できますか?

はい。すべてのJavaScript Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. テストの考え方 — 小さなアサーション、AAA、red→green→refactor
  2. ESLintによるLintとPrettierによるフォーマット
  3. CIの基礎 — pushごとにlint/testを実行
← JavaScript Academyに戻る