[{"data":1,"prerenderedAt":1019},["ShallowReactive",2],{"content-/cloudflare-github-actions-migration":3,"all-pages-for-dir":996,"related-/cloudflare-github-actions-migration":997,"og-image-/cloudflare-github-actions-migration":1018},{"id":4,"title":5,"body":6,"category":980,"concepts":980,"description":981,"extension":982,"meta":983,"navigation":371,"ogImage":980,"path":984,"project_name":980,"published":985,"publishedAt":986,"seo":987,"source":980,"stem":988,"tags":989,"todo":980,"unpublished":985,"updatedAt":994,"__hash__":995},"pages/2025-12/2025-12-07/cloudflare-github-actions-migration.md","Cloudflare Pages Git統合からGitHub Actions Direct Uploadへの移行記録",{"type":7,"value":8,"toc":952},"minimark",[9,13,17,21,24,27,31,44,47,84,87,104,106,110,114,174,177,185,212,215,219,306,313,317,319,321,325,328,331,339,342,349,705,711,731,733,737,741,744,783,787,790,817,821,829,833,844,846,849,857,859,862,887,889,892,948],[10,11,5],"h1",{"id":12},"cloudflare-pages-git統合からgithub-actions-direct-uploadへの移行記録",[14,15,16],"h2",{"id":16},"概要",[18,19,20],"p",{},"Cloudflare PagesのGit統合を設定したが、デプロイ後「Hello world」しか表示されない問題が発生。GitHub ActionsによるDirect Upload方式に最終的に変更することで解決を試みている。",[22,23],"hr",{},[14,25,26],{"id":26},"発生した問題",[28,29,30],"h3",{"id":30},"症状",[32,33,34,38,41],"ul",{},[35,36,37],"li",{},"Git統合でビルドは成功（131ルートがプリレンダリング）",[35,39,40],{},"しかしサイトにアクセスすると「Hello world」しか表示されない",[35,42,43],{},"Cloudflareダッシュボードに「コードを編集する」ボタンが表示される",[28,45,46],{"id":46},"原因",[48,49,50,57,63,74],"ol",{},[35,51,52,56],{},[53,54,55],"strong",{},"Cloudflare Pages と Workers の統合",": 2025年にPagesがWorkersに完全統合された",[35,58,59,62],{},[53,60,61],{},"デフォルトWorkerスクリプト",": Git統合で作成したプロジェクトがWorkerとして認識され、デフォルトの「Hello world」スクリプトが実行されている",[35,64,65,68,69,73],{},[53,66,67],{},"静的ファイル未配信",": ビルドで生成された",[70,71,72],"code",{},"dist","フォルダの静的ファイルが配信されていない",[35,75,76,79,80,83],{},[53,77,78],{},"wrangler.toml無視",": Git統合では",[70,81,82],{},"wrangler.toml","の設定が反映されない",[28,85,86],{"id":86},"確認した内容",[32,88,89,92,97],{},[35,90,91],{},"ビルドログ: 正常終了、145ファイル処理、131ルートプリレンダリング",[35,93,94,96],{},[70,95,72],{},"フォルダ: 正常に生成されている",[35,98,99,100,103],{},"Workerスクリプト: ダッシュボードで確認すると ",[70,101,102],{},"return new Response(\"Hello world\")"," が実行されている",[22,105],{},[14,107,109],{"id":108},"試した解決策失敗","試した解決策（失敗）",[28,111,113],{"id":112},"_1-nitro-preset変更","1. nitro preset変更",[115,116,121],"pre",{"className":117,"code":118,"language":119,"meta":120,"style":120},"language-typescript shiki shiki-themes vitesse-light vitesse-light","// nuxt.config.ts\nnitro: {\n  preset: \"cloudflare-pages-static\"  // cloudflare-pages から変更\n}\n","typescript","",[70,122,123,132,146,168],{"__ignoreMap":120},[124,125,128],"span",{"class":126,"line":127},"line",1,[124,129,131],{"class":130},"sxvE3","// nuxt.config.ts\n",[124,133,135,139,143],{"class":126,"line":134},2,[124,136,138],{"class":137},"senZ8","nitro",[124,140,142],{"class":141},"shFtX",":",[124,144,145],{"class":141}," {\n",[124,147,149,152,154,158,162,165],{"class":126,"line":148},3,[124,150,151],{"class":137},"  preset",[124,153,142],{"class":141},[124,155,157],{"class":156},"sMJiu"," \"",[124,159,161],{"class":160},"sdGka","cloudflare-pages-static",[124,163,164],{"class":156},"\"",[124,166,167],{"class":130},"  // cloudflare-pages から変更\n",[124,169,171],{"class":126,"line":170},4,[124,172,173],{"class":141},"}\n",[18,175,176],{},"→ 効果なし",[28,178,180,181,184],{"id":179},"_2-wranglertoml-の-assets-セクション追加","2. wrangler.toml の ",[124,182,183],{},"assets"," セクション追加",[115,186,190],{"className":187,"code":188,"language":189,"meta":120,"style":120},"language-toml shiki shiki-themes vitesse-light vitesse-light","[assets]\ndirectory = \"./dist\"\nhtml_handling = \"auto-trailing-slash\"\nnot_found_handling = \"single-page-application\"\n","toml",[70,191,192,197,202,207],{"__ignoreMap":120},[124,193,194],{"class":126,"line":127},[124,195,196],{},"[assets]\n",[124,198,199],{"class":126,"line":134},[124,200,201],{},"directory = \"./dist\"\n",[124,203,204],{"class":126,"line":148},[124,205,206],{},"html_handling = \"auto-trailing-slash\"\n",[124,208,209],{"class":126,"line":170},[124,210,211],{},"not_found_handling = \"single-page-application\"\n",[18,213,214],{},"→ Git統合では無視される",[28,216,218],{"id":217},"_3-_workerjs-ファイル追加","3. _worker.js ファイル追加",[115,220,224],{"className":221,"code":222,"language":223,"meta":120,"style":120},"language-javascript shiki shiki-themes vitesse-light vitesse-light","// public/_worker.js\nexport default {\n  async fetch(request, env) {\n    return env.ASSETS.fetch(request);\n  },\n};\n","javascript",[70,225,226,231,242,269,294,300],{"__ignoreMap":120},[124,227,228],{"class":126,"line":127},[124,229,230],{"class":130},"// public/_worker.js\n",[124,232,233,237,240],{"class":126,"line":134},[124,234,236],{"class":235},"sHkkW","export",[124,238,239],{"class":235}," default",[124,241,145],{"class":141},[124,243,244,248,251,254,258,261,264,267],{"class":126,"line":148},[124,245,247],{"class":246},"stQ0i","  async",[124,249,250],{"class":137}," fetch",[124,252,253],{"class":141},"(",[124,255,257],{"class":256},"s4oTP","request",[124,259,260],{"class":141},",",[124,262,263],{"class":256}," env",[124,265,266],{"class":141},")",[124,268,145],{"class":141},[124,270,271,274,276,279,282,284,287,289,291],{"class":126,"line":170},[124,272,273],{"class":235},"    return",[124,275,263],{"class":256},[124,277,278],{"class":141},".",[124,280,281],{"class":256},"ASSETS",[124,283,278],{"class":141},[124,285,286],{"class":137},"fetch",[124,288,253],{"class":141},[124,290,257],{"class":256},[124,292,293],{"class":141},");\n",[124,295,297],{"class":126,"line":296},5,[124,298,299],{"class":141},"  },\n",[124,301,303],{"class":126,"line":302},6,[124,304,305],{"class":141},"};\n",[18,307,308,309,312],{},"→ ",[70,310,311],{},"wrangler pages deploy","時にエラー、Git統合では効果なし",[28,314,316],{"id":315},"_4-ビルドキャッシュクリア","4. ビルドキャッシュクリア",[18,318,176],{},[22,320],{},[14,322,324],{"id":323},"最終的な解決策-github-actions-direct-upload","最終的な解決策: GitHub Actions + Direct Upload",[18,326,327],{},"Cloudflare Git統合の代わりに、GitHub ActionsからDirect Uploadする方式に変更。",[28,329,330],{"id":330},"構成",[115,332,337],{"className":333,"code":335,"language":336},[334],"language-text","Git push → GitHub Actions → wrangler pages deploy (Direct Upload)\n","text",[70,338,335],{"__ignoreMap":120},[28,340,341],{"id":341},"作成したファイル",[343,344,346],"h4",{"id":345},"githubworkflowsdeployyml",[70,347,348],{},".github/workflows/deploy.yml",[115,350,354],{"className":351,"code":352,"language":353,"meta":120,"style":120},"language-yaml shiki shiki-themes vitesse-light vitesse-light","name: Deploy to Cloudflare Pages\n\non:\n  push:\n    branches:\n      - master\n\njobs:\n  deploy:\n    runs-on: ubuntu-latest\n    steps:\n      - name: Checkout\n        uses: actions/checkout@v4\n\n      - name: Setup Node.js\n        uses: actions/setup-node@v4\n        with:\n          node-version: '22'\n\n      - name: Setup pnpm\n        uses: pnpm/action-setup@v4\n        with:\n          version: 10\n\n      - name: Install dependencies\n        run: pnpm install\n        working-directory: apps/web\n\n      - name: Generate static site\n        run: pnpm generate\n        working-directory: apps/web\n\n      - name: Deploy to Cloudflare Pages\n        run: npx wrangler pages deploy dist --project-name=mdx-playground\n        working-directory: apps/web\n        env:\n          CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}\n          CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}\n","yaml",[70,355,356,367,373,381,388,395,403,408,416,424,435,443,456,467,472,484,494,502,519,524,536,546,553,565,570,582,593,604,609,621,631,640,645,656,666,675,683,694],{"__ignoreMap":120},[124,357,358,362,364],{"class":126,"line":127},[124,359,361],{"class":360},"sz8Xr","name",[124,363,142],{"class":141},[124,365,366],{"class":160}," Deploy to Cloudflare Pages\n",[124,368,369],{"class":126,"line":134},[124,370,372],{"emptyLinePlaceholder":371},true,"\n",[124,374,375,378],{"class":126,"line":148},[124,376,377],{"class":235},"on",[124,379,380],{"class":141},":\n",[124,382,383,386],{"class":126,"line":170},[124,384,385],{"class":360},"  push",[124,387,380],{"class":141},[124,389,390,393],{"class":126,"line":296},[124,391,392],{"class":360},"    branches",[124,394,380],{"class":141},[124,396,397,400],{"class":126,"line":302},[124,398,399],{"class":141},"      -",[124,401,402],{"class":160}," master\n",[124,404,406],{"class":126,"line":405},7,[124,407,372],{"emptyLinePlaceholder":371},[124,409,411,414],{"class":126,"line":410},8,[124,412,413],{"class":360},"jobs",[124,415,380],{"class":141},[124,417,419,422],{"class":126,"line":418},9,[124,420,421],{"class":360},"  deploy",[124,423,380],{"class":141},[124,425,427,430,432],{"class":126,"line":426},10,[124,428,429],{"class":360},"    runs-on",[124,431,142],{"class":141},[124,433,434],{"class":160}," ubuntu-latest\n",[124,436,438,441],{"class":126,"line":437},11,[124,439,440],{"class":360},"    steps",[124,442,380],{"class":141},[124,444,446,448,451,453],{"class":126,"line":445},12,[124,447,399],{"class":141},[124,449,450],{"class":360}," name",[124,452,142],{"class":141},[124,454,455],{"class":160}," Checkout\n",[124,457,459,462,464],{"class":126,"line":458},13,[124,460,461],{"class":360},"        uses",[124,463,142],{"class":141},[124,465,466],{"class":160}," actions/checkout@v4\n",[124,468,470],{"class":126,"line":469},14,[124,471,372],{"emptyLinePlaceholder":371},[124,473,475,477,479,481],{"class":126,"line":474},15,[124,476,399],{"class":141},[124,478,450],{"class":360},[124,480,142],{"class":141},[124,482,483],{"class":160}," Setup Node.js\n",[124,485,487,489,491],{"class":126,"line":486},16,[124,488,461],{"class":360},[124,490,142],{"class":141},[124,492,493],{"class":160}," actions/setup-node@v4\n",[124,495,497,500],{"class":126,"line":496},17,[124,498,499],{"class":360},"        with",[124,501,380],{"class":141},[124,503,505,508,510,513,516],{"class":126,"line":504},18,[124,506,507],{"class":360},"          node-version",[124,509,142],{"class":141},[124,511,512],{"class":156}," '",[124,514,515],{"class":160},"22",[124,517,518],{"class":156},"'\n",[124,520,522],{"class":126,"line":521},19,[124,523,372],{"emptyLinePlaceholder":371},[124,525,527,529,531,533],{"class":126,"line":526},20,[124,528,399],{"class":141},[124,530,450],{"class":360},[124,532,142],{"class":141},[124,534,535],{"class":160}," Setup pnpm\n",[124,537,539,541,543],{"class":126,"line":538},21,[124,540,461],{"class":360},[124,542,142],{"class":141},[124,544,545],{"class":160}," pnpm/action-setup@v4\n",[124,547,549,551],{"class":126,"line":548},22,[124,550,499],{"class":360},[124,552,380],{"class":141},[124,554,556,559,561],{"class":126,"line":555},23,[124,557,558],{"class":360},"          version",[124,560,142],{"class":141},[124,562,564],{"class":563},"sM54T"," 10\n",[124,566,568],{"class":126,"line":567},24,[124,569,372],{"emptyLinePlaceholder":371},[124,571,573,575,577,579],{"class":126,"line":572},25,[124,574,399],{"class":141},[124,576,450],{"class":360},[124,578,142],{"class":141},[124,580,581],{"class":160}," Install dependencies\n",[124,583,585,588,590],{"class":126,"line":584},26,[124,586,587],{"class":360},"        run",[124,589,142],{"class":141},[124,591,592],{"class":160}," pnpm install\n",[124,594,596,599,601],{"class":126,"line":595},27,[124,597,598],{"class":360},"        working-directory",[124,600,142],{"class":141},[124,602,603],{"class":160}," apps/web\n",[124,605,607],{"class":126,"line":606},28,[124,608,372],{"emptyLinePlaceholder":371},[124,610,612,614,616,618],{"class":126,"line":611},29,[124,613,399],{"class":141},[124,615,450],{"class":360},[124,617,142],{"class":141},[124,619,620],{"class":160}," Generate static site\n",[124,622,624,626,628],{"class":126,"line":623},30,[124,625,587],{"class":360},[124,627,142],{"class":141},[124,629,630],{"class":160}," pnpm generate\n",[124,632,634,636,638],{"class":126,"line":633},31,[124,635,598],{"class":360},[124,637,142],{"class":141},[124,639,603],{"class":160},[124,641,643],{"class":126,"line":642},32,[124,644,372],{"emptyLinePlaceholder":371},[124,646,648,650,652,654],{"class":126,"line":647},33,[124,649,399],{"class":141},[124,651,450],{"class":360},[124,653,142],{"class":141},[124,655,366],{"class":160},[124,657,659,661,663],{"class":126,"line":658},34,[124,660,587],{"class":360},[124,662,142],{"class":141},[124,664,665],{"class":160}," npx wrangler pages deploy dist --project-name=mdx-playground\n",[124,667,669,671,673],{"class":126,"line":668},35,[124,670,598],{"class":360},[124,672,142],{"class":141},[124,674,603],{"class":160},[124,676,678,681],{"class":126,"line":677},36,[124,679,680],{"class":360},"        env",[124,682,380],{"class":141},[124,684,686,689,691],{"class":126,"line":685},37,[124,687,688],{"class":360},"          CLOUDFLARE_API_TOKEN",[124,690,142],{"class":141},[124,692,693],{"class":160}," ${{ secrets.CLOUDFLARE_API_TOKEN }}\n",[124,695,697,700,702],{"class":126,"line":696},38,[124,698,699],{"class":360},"          CLOUDFLARE_ACCOUNT_ID",[124,701,142],{"class":141},[124,703,704],{"class":160}," ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}\n",[343,706,708],{"id":707},"appswebwranglertoml",[70,709,710],{},"apps/web/wrangler.toml",[115,712,714],{"className":187,"code":713,"language":189,"meta":120,"style":120},"name = \"mdx-playground\"\ncompatibility_date = \"2025-10-03\"\npages_build_output_dir = \"./dist\"\n",[70,715,716,721,726],{"__ignoreMap":120},[124,717,718],{"class":126,"line":127},[124,719,720],{},"name = \"mdx-playground\"\n",[124,722,723],{"class":126,"line":134},[124,724,725],{},"compatibility_date = \"2025-10-03\"\n",[124,727,728],{"class":126,"line":148},[124,729,730],{},"pages_build_output_dir = \"./dist\"\n",[22,732],{},[14,734,736],{"id":735},"完了した作業2025-12-08","完了した作業（2025-12-08）",[28,738,740],{"id":739},"_1-github-secrets-の設定","1. GitHub Secrets の設定 ✅",[18,742,743],{},"以下のSecretsをGitHubリポジトリに追加済み:",[745,746,747,760],"table",{},[748,749,750],"thead",{},[751,752,753,757],"tr",{},[754,755,756],"th",{},"Secret名",[754,758,759],{},"状態",[761,762,763,774],"tbody",{},[751,764,765,771],{},[766,767,768],"td",{},[70,769,770],{},"CLOUDFLARE_API_TOKEN",[766,772,773],{},"設定済み",[751,775,776,781],{},[766,777,778],{},[70,779,780],{},"CLOUDFLARE_ACCOUNT_ID",[766,782,773],{},[28,784,786],{"id":785},"_2-deployyml-の修正","2. deploy.yml の修正 ✅",[18,788,789],{},"プロジェクト自動作成ステップを追加:",[115,791,793],{"className":351,"code":792,"language":353,"meta":120,"style":120},"- name: Create Cloudflare Pages project (if not exists)\n  run: npx wrangler pages project create mdx-playground --production-branch=master || true\n",[70,794,795,807],{"__ignoreMap":120},[124,796,797,800,802,804],{"class":126,"line":127},[124,798,799],{"class":141},"-",[124,801,450],{"class":360},[124,803,142],{"class":141},[124,805,806],{"class":160}," Create Cloudflare Pages project (if not exists)\n",[124,808,809,812,814],{"class":126,"line":134},[124,810,811],{"class":360},"  run",[124,813,142],{"class":141},[124,815,816],{"class":160}," npx wrangler pages project create mdx-playground --production-branch=master || true\n",[28,818,820],{"id":819},"_3-cloudflareプロジェクトの整理","3. Cloudflareプロジェクトの整理 ✅",[32,822,823,826],{},[35,824,825],{},"Git統合プロジェクトは削除済み",[35,827,828],{},"GitHub Actionsでの初回デプロイ時に新しいプロジェクトが自動作成される",[28,830,832],{"id":831},"_4-デプロイ成功","4. デプロイ成功 ✅",[32,834,835,838],{},[35,836,837],{},"GitHub Actions でビルド & デプロイが正常に動作",[35,839,840,843],{},[70,841,842],{},"https://mdx-playground.pages.dev"," でサイトが表示される",[22,845],{},[14,847,848],{"id":848},"削除したファイル",[32,850,851],{},[35,852,853,856],{},[70,854,855],{},"apps/web/public/_worker.js"," - Pages Direct Uploadでは不要",[22,858],{},[14,860,861],{"id":861},"参考リンク",[32,863,864,873,880],{},[35,865,866],{},[867,868,872],"a",{"href":869,"rel":870},"https://developers.cloudflare.com/workers/static-assets/",[871],"nofollow","Cloudflare Workers Static Assets",[35,874,875],{},[867,876,879],{"href":877,"rel":878},"https://developers.cloudflare.com/workers/static-assets/migration-guides/migrate-from-pages/",[871],"Migrate from Pages to Workers",[35,881,882],{},[867,883,886],{"href":884,"rel":885},"https://developers.cloudflare.com/pages/how-to/use-direct-upload-with-continuous-integration/",[871],"Use Direct Upload with CI",[22,888],{},[14,890,891],{"id":891},"教訓",[48,893,894,907,920,933],{},[35,895,896,899],{},[53,897,898],{},"Cloudflare Pages と Workers の統合後にGit統合の挙動が変わった",[32,900,901,904],{},[35,902,903],{},"以前は静的ファイルが自動配信されていた",[35,905,906],{},"現在はWorkerスクリプトが優先される場合がある",[35,908,909,912],{},[53,910,911],{},"wrangler.tomlはGit統合で必ずしも反映されない",[32,913,914],{},[35,915,916,917,919],{},"Direct Upload（",[70,918,311],{},"）では反映される",[35,921,922,925],{},[53,923,924],{},"「コードを編集する」ボタンが出たら要注意",[32,926,927,930],{},[35,928,929],{},"Workerとして認識されている証拠",[35,931,932],{},"静的サイトとして扱われていない",[35,934,935,938],{},[53,936,937],{},"GitHub Actions + Direct Uploadは確実",[32,939,940,945],{},[35,941,942,944],{},[70,943,311],{},"は従来通り動作する",[35,946,947],{},"Git pushで自動デプロイという体験は維持できる",[949,950,951],"style",{},"html pre.shiki code .sxvE3, html code.shiki .sxvE3{--shiki-default:#A0ADA0;--shiki-dark:#A0ADA0}html pre.shiki code .senZ8, html code.shiki .senZ8{--shiki-default:#59873A;--shiki-dark:#59873A}html pre.shiki code .shFtX, html code.shiki .shFtX{--shiki-default:#999999;--shiki-dark:#999999}html pre.shiki code .sMJiu, html code.shiki .sMJiu{--shiki-default:#B5695977;--shiki-dark:#B5695977}html pre.shiki code .sdGka, html code.shiki .sdGka{--shiki-default:#B56959;--shiki-dark:#B56959}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sHkkW, html code.shiki .sHkkW{--shiki-default:#1E754F;--shiki-dark:#1E754F}html pre.shiki code .stQ0i, html code.shiki .stQ0i{--shiki-default:#AB5959;--shiki-dark:#AB5959}html pre.shiki code .s4oTP, html code.shiki .s4oTP{--shiki-default:#B07D48;--shiki-dark:#B07D48}html pre.shiki code .sz8Xr, html code.shiki .sz8Xr{--shiki-default:#998418;--shiki-dark:#998418}html pre.shiki code .sM54T, html code.shiki .sM54T{--shiki-default:#2F798A;--shiki-dark:#2F798A}",{"title":120,"searchDepth":134,"depth":134,"links":953},[954,955,960,967,971,977,978,979],{"id":16,"depth":134,"text":16},{"id":26,"depth":134,"text":26,"children":956},[957,958,959],{"id":30,"depth":148,"text":30},{"id":46,"depth":148,"text":46},{"id":86,"depth":148,"text":86},{"id":108,"depth":134,"text":109,"children":961},[962,963,965,966],{"id":112,"depth":148,"text":113},{"id":179,"depth":148,"text":964},"2. wrangler.toml の assets セクション追加",{"id":217,"depth":148,"text":218},{"id":315,"depth":148,"text":316},{"id":323,"depth":134,"text":324,"children":968},[969,970],{"id":330,"depth":148,"text":330},{"id":341,"depth":148,"text":341},{"id":735,"depth":134,"text":736,"children":972},[973,974,975,976],{"id":739,"depth":148,"text":740},{"id":785,"depth":148,"text":786},{"id":819,"depth":148,"text":820},{"id":831,"depth":148,"text":832},{"id":848,"depth":134,"text":848},{"id":861,"depth":134,"text":861},{"id":891,"depth":134,"text":891},null,"Cloudflare PagesのGit統合で発生した問題と、GitHub Actionsを使ったDirect Uploadへの移行過程","md",{},"/cloudflare-github-actions-migration",false,"2025-12-07T00:00:00.000Z",{"title":5,"description":981},"2025-12/2025-12-07/cloudflare-github-actions-migration",[990,991,992,993],"cloudflare","github-actions","deployment","troubleshooting","2025-12-08T00:00:00.000Z","SJR1UpMPkPjG6QooSFk-Kr1xuWWQiKk3_7VPlbHwwAs",[],[998,1002,1006,1010,1014],{"title":999,"path":1000,"publishedAt":1001},"Cloudflare Pages デプロイエラー解決：_routes.json の100文字制限対応","/cloudflare-pages-routes-100-char-limit-fix","2025-11-26T00:00:00.000Z",{"title":1003,"path":1004,"publishedAt":1005},"GitHub Actions デプロイ失敗調査 - Node.js ヒープメモリ不足","/github-actions-heap-memory-failure","2026-01-01T00:00:00.000Z",{"title":1007,"path":1008,"publishedAt":1009},"音声ファイル変換パイプライン（WAV→Opus）","/audio-wav-to-opus-pipeline","2025-12-12T00:00:00.000Z",{"title":1011,"path":1012,"publishedAt":1013},"ページ遷移が遅い問題：SSR vs SSG の選択ミス","/ssr-vs-ssg-page-transition-slow","2025-12-05T00:00:00.000Z",{"title":1015,"path":1016,"publishedAt":1017},"Cloudflareデプロイの自動化スクリプト追加","/deploy-script-setup","2025-12-01T00:00:00.000Z","https://log.eurekapu.com/og/blog/cloudflare-github-actions-migration.png?v=2025-12-08T00%3A00%3A00.000Z&title=Cloudflare%20Pages%20Git%E7%B5%B1%E5%90%88%E3%81%8B%E3%82%89GitHub%20Actions%20Direct%20Upload%E3%81%B8%E3%81%AE%E7%A7%BB%E8%A1%8C%E8%A8%98%E9%8C%B2&author=Kei%20Komatsu&sig=0c5f43ba38aac126",1785654964638]