Manage Pages Deployment with Cloudflare API

Apabila Anda sudah terbiasa deploy front-end applications menggunakan Cloudflare Pages, Anda mungkin menemukan jumlah semua deployment yang pernah Anda lakukan sudah begitu banyak.

Limit deployment pada Cloudflare Pages dapat mencapai 10.000 deployment aktif, namun deployment yang sudah terlalu lama kemungkinan tidak akan terpakai sehingga perlu dilakukan penghapusan atau menyisakan sedikit untuk sekedar backup.

Create API Token

  • Login ke Dashboard Cloudflare
  • Buat token melalui https://dash.cloudflare.com/profile/api-tokens
  • Create token lalu pilih Create Custom Token
  • Beri nama token lalu atur permission edit Cloudflare Pages pada Account
  • Klik Continue dan Create token
  • Selanjutnya simpan token yang sudah digenerate. Bila perlu test token menggunakan curl
curl -X GET "https://api.cloudflare.com/client/v4/user/tokens/verify" \
-H "Authorization: Bearer XXX" \
-H "Content-Type:application/json"

Get deployments

curl -X GET "https://api.cloudflare.com/client/v4/accounts/Account_ID/pages/projects/project_name/deployments" \
-H "Authorization: Bearer XXX" \
-H "Content-Type:application/json"

Create deployment

curl -X POST "https://api.cloudflare.com/client/v4/accounts/Account_ID/pages/projects/project_name/deployments" \
-H "Authorization: Bearer XXX" \
-H "Content-Type: multipart/form-data" \
--form branch=

Opsi --form branch= merupakan opsional atau dapat Anda kosongkan jika tidak memakai github.

Delete deployment

curl -X DELETE "https://api.cloudflare.com/client/v4/accounts/Account_ID/pages/projects/project_name/deployments/deployment_identifier" \
-H "Authorization: Bearer XXX" \
-H "Content-Type:application/json"

deployment_identifier merupakan "id": "XXX" yang dapat Anda temukan saat Get deployments.

Get deployment info

Untuk mengambil informasi tentang deployment.

curl -X GET "https://api.cloudflare.com/client/v4/accounts/Account_ID/pages/projects/project_name/deployments/deployment_identifier" \
-H "Authorization: Bearer XXX" \
-H "Content-Type:application/json"

Get deployment logs

Untuk mengambil log deployment saat proses build.

curl -X GET "https://api.cloudflare.com/client/v4/accounts/Account_ID/pages/projects/project_name/deployments/deployment_identifier/history/logs" \
-H "Authorization: Bearer XXX" \
-H "Content-Type:application/json"

Retry deployment

Untuk mencoba lagi deployment sebelumnya.

curl -X POST "https://api.cloudflare.com/client/v4/accounts/Account_ID/pages/projects/project_name/deployments/deployment_identifier/retry" \
-H "Authorization: Bearer XXX" \
-H "Content-Type:application/json"

Rollback deployment

Mengembalikan deployment produksi ke deployment yang diinginkan.

curl -X POST "https://api.cloudflare.com/client/v4/accounts/Account_ID/pages/projects/project_name/deployments/deployment_identifier/rollback" \
-H "Authorization: Bearer XXX" \
-H "Content-Type:application/json"