DevOps Cloudflare Pengalaman
Cerita hari ini: error 404 saat install GitHub App Cloudflare. Berjam-jam muter-muter. Ujung-ujungnya nemu solusi yang lebih baik.
Website GINK Digital di Cloudflare Pages tiba-tiba gagal deploy. Log-nya cuma satu baris: "fatal: repository 'https://github.com/...' not found".
Padahal repo-nya ada, SSH masih jalan, commit masih bisa push. Tapi Cloudflare nolak clone via HTTPS. Saya cek dashboard CF — semua deployment terbaru statusnya "No deployment available".
"Mungkin token GitHub App-nya expired," pikir saya. Coba uninstall → install ulang.
Nah, ini masalahnya. Setiap kali klik "Configure installation" di Cloudflare,
saya malah diarahkan ke halaman 404 GitHub. URL-nya selalu
mengandung parameter target_id yang — entah kenapa — sudah stale.
Saya coba:
Tapi tetap saja, installasi langsung dari URL
https://github.com/apps/cloudflare-workers-and-pages/installations/new
selalu redirect ke .../permissions?target_id=... yang stale.
Frustrasi tingkat dewa.
Setelah investigasi, akar masalahnya sederhana: Cloudflare nyimpen state ID instalasi yang sudah tidak valid. Pas GitHub App di-uninstall (karena expired atau revoke), ID-nya mati — tapi Cloudflare tidak tahu. Jadilah error 404 setiap kali mau install ulang.
Ini bug di sisi Cloudflare, dan sayangnya belum ada tombol "reset state" di dashboard.
Daripada terus berdebat dengan halaman 404, saya ambil jalan lain: Skip GitHub App sepenuhnya.
Caranya? Gunakan GitHub Actions yang memanggil Wrangler CLI untuk deploy. Autentikasi pakai API Token, bukan GitHub App. Dijamin tidak akan 404 lagi.
Langkahnya:
CF_API_TOKEN.github/workflows/deploy.ymlWorkflow-nya sederhana. Isinya kira-kira gini:
name: Deploy to Cloudflare Pages
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Deploy
uses: cloudflare/wrangler-action@v3
with:
apiToken: ${{ secrets.CF_API_TOKEN }}
accountId: [ACCOUNT_ID]
command: pages deploy . --project-name=[NAMA] --branch=main
Hasilnya? Mulus. Commit ke GitHub → otomatis terdeploy. Tidak ada lagi error 404, tidak ada lagi GitHub App yang bandel.
Dua pelajaran dari pengalaman ini:
Semoga cerita ini membantu yang mengalami masalah serupa. Kalau ada pertanyaan, DM atau email aja.
Avathur Rahman — Konsultan Bisnis & Digital Marketing Syariah.
Juga nulis di GINK Digital
versi teknis lengkap.