diff --git a/data/posts/deploy-website-dengan-cicd-1-pendahuluan.md b/data/posts/deploy-website-dengan-cicd-1-pendahuluan.md index 9230091..a5da4c5 100644 --- a/data/posts/deploy-website-dengan-cicd-1-pendahuluan.md +++ b/data/posts/deploy-website-dengan-cicd-1-pendahuluan.md @@ -4,7 +4,7 @@ title: "Deploy Website dengan CI/CD #1: Pendahuluan" lastmod: 1720766808794 topics: ["e5d6b8ea-d8e0-4bd2-8bb3-d74d08dc5669","ab8888e2-d055-4507-aec3-7cadb0d36d98","3b2bf050-b69c-4438-b3d9-ed0a3a5e0911"] slug: "deploy-website-dengan-cicd-1-pendahuluan" -ogImage: "/posts/deploy-vercel-github-action/1-deploy-vercel-github-action.png" +ogImage: "https://res.cloudinary.com/rezafikkri/image/upload/q_auto/1-deploy-vercel-github-action.png" serial: {"id":"ede13e57-95e1-425e-9e07-f5f686cb3990","order":1} --- @@ -39,8 +39,8 @@ Berikut langkah-langkahnya:
  1. Buka terminal atau cmd pada direktori utama website counter-js yang telah di download, kemudian jalankan git init untuk membuat local repositori baru dan jangan lupa lakukan commit.
  2. -
  3. Buat public remote repositori baru pada akun GitHub-mu, isi Repository name, Decription (optional) dan klik Create repository (biarkan value yang lain default saja): before create new repo
  4. -
  5. Pastikan setelah kamu klik Create repository, maka akan diarahkan ke halaman seperti di bawah ini, yang menandakan repositori masih kosong: after create new repo
  6. +
  7. Buat public remote repositori baru pada akun GitHub-mu, isi Repository name, Decription (optional) dan klik Create repository (biarkan value yang lain default saja): before create new repo
  8. +
  9. Pastikan setelah kamu klik Create repository, maka akan diarahkan ke halaman seperti di bawah ini, yang menandakan repositori masih kosong: after create new repo
  10. Buka kembali terminal atau cmd pada direktori utama website counte-js dan tambahkan remote repositori yang telah dibuat sebelumnya dengan nama "origin" (kamu bisa menggunakan ssh atau https):
    # ssh
    diff --git a/data/posts/deploy-website-dengan-cicd-2-github-actions-workflow.md b/data/posts/deploy-website-dengan-cicd-2-github-actions-workflow.md
    index 29bcde0..1c7e43f 100644
    --- a/data/posts/deploy-website-dengan-cicd-2-github-actions-workflow.md
    +++ b/data/posts/deploy-website-dengan-cicd-2-github-actions-workflow.md
    @@ -4,7 +4,7 @@ title: "Deploy Website dengan CI/CD #2: GitHub Actions Workflow"
     lastmod: 1720767708928
     topics: ["e5d6b8ea-d8e0-4bd2-8bb3-d74d08dc5669","ab8888e2-d055-4507-aec3-7cadb0d36d98","3b2bf050-b69c-4438-b3d9-ed0a3a5e0911"]
     slug: "deploy-website-dengan-cicd-2-github-actions-workflow"
    -ogImage: "/posts/deploy-vercel-github-action/2-deploy-vercel-github-action.png"
    +ogImage: "https://res.cloudinary.com/rezafikkri/image/upload/q_auto/2-deploy-vercel-github-action.png"
     serial: {"id":"ede13e57-95e1-425e-9e07-f5f686cb3990","order":2}
     ---
     
    @@ -22,7 +22,7 @@ Mengenai *event* dan *jobs*, *event* adalah aktivitas spesifik di dalam sebuah r
     ## Membuat GitHub Actions Workflow
     
     Oke, untuk membuat workflow, buat direktori `.github/workflows/` di dalam direktori utama website counter-js, lalu didalamnya buat file `ci.yml`, seperti dibawah ini:
    -![create ci yml](/posts/deploy-vercel-github-action/create-ci-yml.png)
    +![create ci yml](https://res.cloudinary.com/rezafikkri/image/upload/q_auto/create-ci-yml.png)
     Dan copy semua code dibawah ini ke dalam file `ci.yml`:
     ```yaml
     name: Continious Integration
    @@ -100,15 +100,15 @@ Sekarang, saya akan menjelaskan setiap baris kode diatas, supaya kamu lebih mema
     > **Info:** Jika kamu ingin melihat dan belajar lebih detail mengenai syntax workflow, bisa lihat di [workflow syntax for GitHub Actions](https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions).
     
     Setelah selesai membuat workflow saatnya mencoba workflow yang telah dibuat, untuk itu, kamu bisa melakukan commit lalu push terlebih dahulu untuk mengupload workflow ke remote repositori dan pastikan di remote repositori pada tab **Actions** » pada sidebar menu sebelah kiri terdapat workflow dengan nama **Continious Integration**:
    -![push ci yml](/posts/deploy-vercel-github-action/push-ci-yml.png)
    +![push ci yml](https://res.cloudinary.com/rezafikkri/image/upload/q_auto/push-ci-yml.png)
     
     Untuk memicu workflow agar dijalankan, buat branch baru dan lakukan perubahan apapun di local repositori, setelah itu lakukan commit lalu push dan buka sebuah pull request ke branch main. Jika tidak ada masalah pada workflow yang dibuat, maka secara otomatis workflow akan dijalankan:
    -![test workflow pending](/posts/deploy-vercel-github-action/test-workflow-pending.png)
    +![test workflow pending](https://res.cloudinary.com/rezafikkri/image/upload/q_auto/test-workflow-pending.png)
     Jika proses CI yang dijalankan berhasil (artinya lolos testing dan linting) maka akan berstatus *pass*:
    -![test workflow pass](/posts/deploy-vercel-github-action/test-workflow-pass.png)
    +![test workflow pass](https://res.cloudinary.com/rezafikkri/image/upload/q_auto/test-workflow-pass.png)
     
     Untuk sekarang tidak perlu untuk melakukan *Merge pull request* atau semacamnya, karena ini hanya bertujuan untuk melihat apakah workflow akan dijalankan ketika misalnya sebuah pull request dibuka ke branch main. Untuk itu kamu bisa *Close pull request* tersebut dengan scroll ke paling bawah halaman dan klik button *Close pull request*:
    -![close pull request](/posts/deploy-vercel-github-action/close-pull-request.png)
    +![close pull request](https://res.cloudinary.com/rezafikkri/image/upload/q_auto/close-pull-request.png)
     
     Oke, terima kasih buat kamu yang sudah membaca, semoga bermanfaat. Jika ada yang ingin ditanyakan atau ada saran silahkan kirim email ke fikkri.reza@gmail.com. Jangan lupa follow Linkedin saya di [in/reza-sariful-fikri](https://www.linkedin.com/in/reza-sariful-fikri) untuk mendapatkan tulisan terbaru. Serta jangan lupa baca artikel dan tutorial saya lainnya pada halaman Blog dengan mengklik menu Blog pada navbar atau footer.
     
    diff --git a/data/posts/deploy-website-dengan-cicd-3-deploy-dengan-vercel.md b/data/posts/deploy-website-dengan-cicd-3-deploy-dengan-vercel.md
    index 6c9082e..5dd466b 100644
    --- a/data/posts/deploy-website-dengan-cicd-3-deploy-dengan-vercel.md
    +++ b/data/posts/deploy-website-dengan-cicd-3-deploy-dengan-vercel.md
    @@ -4,7 +4,7 @@ title: "Deploy Website dengan CI/CD #3: Deploy dengan Vercel"
     lastmod: 1720767708928
     topics: ["e5d6b8ea-d8e0-4bd2-8bb3-d74d08dc5669","ab8888e2-d055-4507-aec3-7cadb0d36d98","3b2bf050-b69c-4438-b3d9-ed0a3a5e0911"]
     slug: "deploy-website-dengan-cicd-3-deploy-dengan-vercel"
    -ogImage: "/posts/deploy-vercel-github-action/3-deploy-vercel-github-action.png"
    +ogImage: "https://res.cloudinary.com/rezafikkri/image/upload/q_auto/3-deploy-vercel-github-action.png"
     serial: {"id":"ede13e57-95e1-425e-9e07-f5f686cb3990","order":3}
     ---
     
    @@ -16,43 +16,43 @@ Setelah membuat GitHub Actions workflow pada seri ke-2, pada seri ke-3 ini kita
     
     Untuk deploy dengan vercel ikuti langkah-langkah berikut:
     1. Buat akun Vercel dengan buka halaman [Sign Up Vercel](https://vercel.com/signup), lalu pada bagian **Plan type**, karena ini tujuannya untuk belajar maka pilih **Hobby**, lalu pada kolom input **Your name**, isi dengan nama kamu dan klik button **Continue**:
    -![sign up vercel](/posts/deploy-vercel-github-action/sign-up-vercel.png)
    +![sign up vercel](https://res.cloudinary.com/rezafikkri/image/upload/q_auto/sign-up-vercel.png)
     2. Kamu akan diarahkan ke suatu halaman untuk menghubungkan akun Vercel kamu dengan Git provider, karena dalam tutorial ini menggunakan GitHub, maka klik button **Continue With GitHub**:
    -![connect vercel github](/posts/deploy-vercel-github-action/connect-vercel-github.png)
    +![connect vercel github](https://res.cloudinary.com/rezafikkri/image/upload/q_auto/connect-vercel-github.png)
     3. Akan terbuka pop up window *Authorize Vercel*, yang intinya Vercel ingin meminta persetujuan dari kamu untuk mengakses beberapa hal di akun GitHub kamu. Klik button **Authorize Vercel** untuk menyetujui:
    -![authorize vercel](/posts/deploy-vercel-github-action/authorize-vercel.png)
    +![authorize vercel](https://res.cloudinary.com/rezafikkri/image/upload/q_auto/authorize-vercel.png)
     4. Kamu akan diminta mengisi nomor telepon. Pilih negara Indonesia, lalu isi dengan nomor aktif kamu (ini hanya untuk verifikasi) dan klik button **Continue**:
    -![insert phone number vercel](/posts/deploy-vercel-github-action/insert-phone-number-vercel.png)
    +![insert phone number vercel](https://res.cloudinary.com/rezafikkri/image/upload/q_auto/insert-phone-number-vercel.png)
     5. Kamu perlu memasukkan 4 kode yang telah dikirim ke nomor telepon kamu dan selamat akun Vercel kamu sudah berhasil dibuat:
    -![verify vercel sign up](/posts/deploy-vercel-github-action/verify-vercel-sign-up.png)
    +![verify vercel sign up](https://res.cloudinary.com/rezafikkri/image/upload/q_auto/verify-vercel-sign-up.png)
     6. Tunggu sebentar sampai kamu diarahkan ke halaman untuk membuat projek baru (seperti dibawah ini), jika agak lama, tidak apa-apa, tetap tunggu. Karena sebelumnya sudah memiliki projek yang ingin dideploy, maka kamu hanya perlu untuk melakukan *Import Git Repository* saja. Untuk melakukan import, kamu perlu install Vercel GitHub App di akun GitHub-mu, caranya dengan klik button **Install** pada bagian **Import Git Repository**:
    -![install-github-app-vercel](/posts/deploy-vercel-github-action/install-vercel.png) Di GitHub ada tools yang bernama GitHub Apps, GitHub Apps adalah tools yang memperluas fungsionalitas GitHub. GitHub Apps dapat melakukan sesuatu di GitHub seperti membuka *issues*, komen di dalam pull request dan mengelola *projects*. GitHub Apps juga bisa melakukan sesuatu di luar GitHub berdasarkan *event* yang terjadi di GitHub. Vercel yang kamu install di akun GitHub-mu adalah salah satu dari GitHub Apps. Lebih detail mengenai GitHub Apps bisa baca [disini](https://docs.github.com/en/apps/using-github-apps/about-using-github-apps).
    +![install github app vercel](https://res.cloudinary.com/rezafikkri/image/upload/q_auto/install-vercel.png) Di GitHub ada tools yang bernama GitHub Apps, GitHub Apps adalah tools yang memperluas fungsionalitas GitHub. GitHub Apps dapat melakukan sesuatu di GitHub seperti membuka *issues*, komen di dalam pull request dan mengelola *projects*. GitHub Apps juga bisa melakukan sesuatu di luar GitHub berdasarkan *event* yang terjadi di GitHub. Vercel yang kamu install di akun GitHub-mu adalah salah satu dari GitHub Apps. Lebih detail mengenai GitHub Apps bisa baca [disini](https://docs.github.com/en/apps/using-github-apps/about-using-github-apps).
     7. Kamu akan dimintai semacam persetujuan oleh Vercel untuk beberapa izin terkait menginstall Vercel GitHub App di akun GitHub-mu, kamu bisa membaca apa saja izin tersebut, selanjutnya jangan lupa untuk memilih **Only select repositories**, untuk install Vercel hanya di repositori yang dipilih saja, kemudian pilih repositori website counter-js dan klik button **Install** (scroll ke bawah jika kamu belum melihat button tersebut):
    -![permission install github app vercel](/posts/deploy-vercel-github-action/permission-install-vercel.png)
    +![permission install github app vercel](https://res.cloudinary.com/rezafikkri/image/upload/q_auto/permission-install-vercel.png)
     8. Klik button **Import** pada repositori website counter-js di bagian **Import Git Repository**:
    -![importing project counter js](/posts/deploy-vercel-github-action/importing-project-counter-js.png)
    +![importing project counter js](https://res.cloudinary.com/rezafikkri/image/upload/q_auto/importing-project-counter-js.png)
     9. Sebelum deploy, kamu akan diminta untuk melakukan konfigurasi projek, seperti *Project Name*, *Framework Preset*, *Root Directory*, *Build and Output Settings* dan *Environment Variables*. Tetapi untuk di tutorial ini, kamu tidak perlu merubah apapun karena Vercel sudah membuat konfigurasi default, kamu bisa langsung klik button **Deploy** untuk deploy website counter-js dan tunggu sampai proses deploy selesai:
    -![configure project vercel](/posts/deploy-vercel-github-action/configure-project-vercel.png)
    +![configure project vercel](https://res.cloudinary.com/rezafikkri/image/upload/q_auto/configure-project-vercel.png)
     10. Selamat kamu telah berhasil deploy website counter-js dengan Vercel. Selanjutnya kamu bisa klik button **Continue to Dashboard** untuk melihat detail dari website counter-js yang telah dideploy:
    -![success deploy](/posts/deploy-vercel-github-action/success-deploy.png)
    +![success deploy](https://res.cloudinary.com/rezafikkri/image/upload/q_auto/success-deploy.png)
     11. Kamu akan dialihkan ke halaman dashboard dari website counter-js yang telah berhasil dideploy. Untuk mengunjungi website yang telah dideploy kamu bisa klik button **Visit**:
    -![dashboard vercel](/posts/deploy-vercel-github-action/dashboard-vercel.png)
    +![dashboard vercel](https://res.cloudinary.com/rezafikkri/image/upload/q_auto/dashboard-vercel.png)
     
     Setelah berhasil deploy website counter-js ke Vercel, seperti penjelasan saya sebelumnya, bahwa ketika ada perubahan yang diterapkan ke branch main, maka Vercel secara otomatis akan melakukan proses deployment. Untuk memastikan apakah betul berjalan seperti itu, buat branch baru, lalu lakukan perubahan apapun di repositori local (agar mudah melihat perbedaan antara deployment sebelumnya dan yang baru, buat perubahan pada tampilan website di file `main.js`) dan lakukan commit kemudian push.
     
     > **Info:** Disini saya kembali menggunakan akun GitHub utama saya (rezafikkri).
     
     Selanjutnya buka sebuah pull request ke branch main, tunggu semua pengecekan lolos dan lakukan *Merge pull request* dengan klik button **Merge pull request**:
    -![merge pull request](/posts/deploy-vercel-github-action/merge-pull-request.png)
    +![merge pull request](https://res.cloudinary.com/rezafikkri/image/upload/q_auto/merge-pull-request.png)
     Karena melakukan *merge*, maka kamu akan diminta untuk mengisi commit message dan commit description, kamu bisa merubahnya atau biarkan default dan klik button **Confirm merge**:
    -![confirm merge pull request](/posts/deploy-vercel-github-action/confirm-merge-pull-request.png)
    +![confirm merge pull request](https://res.cloudinary.com/rezafikkri/image/upload/q_auto/confirm-merge-pull-request.png)
     Jika pada button tidak terdapat kata *Merge pull request*, maka klik dropdown menu pada button dan pilih **Create a merge commit**:
    -![button merge pull request](/posts/deploy-vercel-github-action/button-merge-pull-request.png)
    +![button merge pull request](https://res.cloudinary.com/rezafikkri/image/upload/q_auto/button-merge-pull-request.png)
     
     Setelah *Merge pull request* berhasil, untuk melihat apakah deployment otomatis dijalankan, opsi pertama, kamu bisa melihat langsung pada website counter-js yang telah dideploy, apakah terdapat perubahan (jika kamu melakukan perubahan pada tampilan website).
     
     Opsi kedua, kamu bisa membuka tab **Deployments** pada halaman dashboard website counter-js, disana kamu bisa melihat deployment terbaru adalah deployment dari *Merge pull request* yang sebelumnya kamu lakukan, ini menandakan bahwa betul Vercel secara otomatis melakukan deployment ketika ada perubahan yang diterapkan pada branch main:
    -![automatic deployment](/posts/deploy-vercel-github-action/automatic-deployment.png)
    +![automatic deployment](https://res.cloudinary.com/rezafikkri/image/upload/q_auto/automatic-deployment.png)
     
     Oke, terima kasih buat kamu yang sudah membaca, semoga bermanfaat. Jika ada yang ingin ditanyakan atau ada saran silahkan kirim email ke fikkri.reza@gmail.com. Jangan lupa follow Linkedin saya di [in/reza-sariful-fikri](https://www.linkedin.com/in/reza-sariful-fikri) untuk mendapatkan tulisan terbaru. Serta jangan lupa baca artikel dan tutorial saya lainnya pada halaman Blog dengan mengklik menu Blog pada navbar atau footer.
     
    diff --git a/data/posts/deploy-website-dengan-cicd-4-branch-ruleset.md b/data/posts/deploy-website-dengan-cicd-4-branch-ruleset.md
    index 6155cad..7034f37 100644
    --- a/data/posts/deploy-website-dengan-cicd-4-branch-ruleset.md
    +++ b/data/posts/deploy-website-dengan-cicd-4-branch-ruleset.md
    @@ -4,7 +4,7 @@ title: "Deploy Website dengan CI/CD #4: Branch Ruleset"
     lastmod: 1720767968252
     topics: ["e5d6b8ea-d8e0-4bd2-8bb3-d74d08dc5669","ab8888e2-d055-4507-aec3-7cadb0d36d98","3b2bf050-b69c-4438-b3d9-ed0a3a5e0911"]
     slug: "deploy-website-dengan-cicd-4-branch-ruleset"
    -ogImage: "/posts/deploy-vercel-github-action/4-deploy-vercel-github-action.png"
    +ogImage: "https://res.cloudinary.com/rezafikkri/image/upload/q_auto/4-deploy-vercel-github-action.png"
     serial: {"id":"ede13e57-95e1-425e-9e07-f5f686cb3990","order":4}
     ---
     
    @@ -16,7 +16,7 @@ Ruleset adalah daftar aturan yang berlaku pada repositori, yang dapat membantu k
     
     Untuk membuat ruleset, ikuti langkah berikut:
     1. Buka remote repositori website counter-js di GitHub kamu, lalu klik **Settings** » pada sidebar menu sebelah kiri klik **Rules**, kemudian klik **Rulesets**, pada halaman Rulesets yang terbuka, klik **New ruleset** dan klik **New branch ruleset**:
    -![create branch ruleset github](/posts/deploy-vercel-github-action/create-branch-ruleset-github.png)
    +![create branch ruleset github](https://res.cloudinary.com/rezafikkri/image/upload/q_auto/create-branch-ruleset-github.png)
     2. Pada bagian **Ruleset Name**, isi dengan nama ruleset
     3. Pada bagian **Enforcement Status**, pilih **Active**, yang berarti bahwa ruleset ini akan langsung diterapkan ketika dibuat (ketika klik button **Create**). Kamu juga bisa membiarkannya default, yaitu **Disabled**, yang berarti bahwa ruleset ini belum akan diterapkan dan ketika nanti kamu ingin menerapkan ruleset ini, kamu bisa mengubah **Enforcement Status**-nya.
     4. Pada bagian **Bypass list**, kamu bisa memberikan izin kepada *rules*, *teams* atau *apps* tertentu untuk *bypass* (mengabaikan atau melewati) ruleset ini. Tetapi karena dalam tutorial ini, ingin diterapkan bahwa tidak ada yang boleh mengabaikan ruleset ini, maka cukup dibiarkan kosong saja.
    @@ -24,13 +24,13 @@ Untuk membuat ruleset, ikuti langkah berikut:
     6. Pada bagian **Rules**, kamu memilih *rule* apa saja yang ingin diterapkan. Secara default sudah ada dua *rule* yang otomatis dipilih oleh GitHub, yaitu rule pertama adalah **Restrict deletions**, yang berarti hanya user dengan izin *bypass* yang boleh menghapus branch yang didefinisikan pada bagian **Target branches**, yaitu dalam tutorial ini adalah branch main dan karena sebelumnya pada bagian **Bypass list** hanya dibiarkan kosong, maka artinya tidak ada seorang pun yang bisa menghapus branch main, ini bagus, karena jika branch main tidak sengaja terhapus, maka akan berakibat fatal. Yang kedua adalah **Block force pushes**, ini berarti bahwa tidak ada user yang diizinkan untuk melakukan *force push*.
     7. Pilih rule **Require pull request before merging**, supaya jika ingin melakukan perubahan harus melalui pull request.
     8. Pilih rule **Require status checks to pass**, lalu klik **Add checks**, pada kolom pencarian tulis id dari *job* yang terdapat pada workflow yang sebelumnya dibuat, sebagai contoh, id dari *job* yang saya buat sebelumnya adalah "test-and-lint" maka masukkan "test-and-lint" atau cukup "test" saja, lalu pada bagian **Suggestions** pilih **Add test-and-lint** dan klik kembali button **Add checks**:
    -![require status checks pass](/posts/deploy-vercel-github-action/require-status-checks-pass.png)
    +![require status checks pass](https://res.cloudinary.com/rezafikkri/image/upload/q_auto/require-status-checks-pass.png)
     9. Berikut adalah tampilan akhir dari *settings ruleset*:
    -![settings ruleset](/posts/deploy-vercel-github-action/settings-ruleset.png)
    +![settings ruleset](https://res.cloudinary.com/rezafikkri/image/upload/q_auto/settings-ruleset.png)
     10. Klik button **Create** untuk membuat ruleset.
     
     Setelah selesai membuat Branch Ruleset, saatnya melakukan test apakah ruleset tersebut berjalan sebagaimana mestinya. Kamu bisa mencoba membuat perubahan langsung pada branch main di local repositori, lalu coba lakukan push, maka kamu akan mendapatkan error seperti di bawah ini:
    -![error directly change main branch](/posts/deploy-vercel-github-action/error-directly-change-main-branch.png)
    +![error directly change main branch](https://res.cloudinary.com/rezafikkri/image/upload/q_auto/error-directly-change-main-branch.png)
     Yang menandakan bahwa ruleset telah berjalan sebagaimana mestinya. Kamu bisa membatalkan perubahan sebelumnya dengan menjalankan command:
     ```bash
     git reset --hard HEAD~1
    diff --git a/public/posts/deploy-vercel-github-action/1-deploy-vercel-github-action.png b/public/posts/deploy-vercel-github-action/1-deploy-vercel-github-action.png
    deleted file mode 100644
    index fc7c624..0000000
    Binary files a/public/posts/deploy-vercel-github-action/1-deploy-vercel-github-action.png and /dev/null differ
    diff --git a/public/posts/deploy-vercel-github-action/2-deploy-vercel-github-action.png b/public/posts/deploy-vercel-github-action/2-deploy-vercel-github-action.png
    deleted file mode 100644
    index d972ae4..0000000
    Binary files a/public/posts/deploy-vercel-github-action/2-deploy-vercel-github-action.png and /dev/null differ
    diff --git a/public/posts/deploy-vercel-github-action/3-deploy-vercel-github-action.png b/public/posts/deploy-vercel-github-action/3-deploy-vercel-github-action.png
    deleted file mode 100644
    index 57d7c2f..0000000
    Binary files a/public/posts/deploy-vercel-github-action/3-deploy-vercel-github-action.png and /dev/null differ
    diff --git a/public/posts/deploy-vercel-github-action/4-deploy-vercel-github-action.png b/public/posts/deploy-vercel-github-action/4-deploy-vercel-github-action.png
    deleted file mode 100644
    index 46c819b..0000000
    Binary files a/public/posts/deploy-vercel-github-action/4-deploy-vercel-github-action.png and /dev/null differ
    diff --git a/public/posts/deploy-vercel-github-action/after-create-new-repo.png b/public/posts/deploy-vercel-github-action/after-create-new-repo.png
    deleted file mode 100644
    index fb98ccd..0000000
    Binary files a/public/posts/deploy-vercel-github-action/after-create-new-repo.png and /dev/null differ
    diff --git a/public/posts/deploy-vercel-github-action/authorize-vercel.png b/public/posts/deploy-vercel-github-action/authorize-vercel.png
    deleted file mode 100644
    index eab75db..0000000
    Binary files a/public/posts/deploy-vercel-github-action/authorize-vercel.png and /dev/null differ
    diff --git a/public/posts/deploy-vercel-github-action/automatic-deployment.png b/public/posts/deploy-vercel-github-action/automatic-deployment.png
    deleted file mode 100644
    index 6d23778..0000000
    Binary files a/public/posts/deploy-vercel-github-action/automatic-deployment.png and /dev/null differ
    diff --git a/public/posts/deploy-vercel-github-action/before-create-new-repo.png b/public/posts/deploy-vercel-github-action/before-create-new-repo.png
    deleted file mode 100644
    index 15e06c3..0000000
    Binary files a/public/posts/deploy-vercel-github-action/before-create-new-repo.png and /dev/null differ
    diff --git a/public/posts/deploy-vercel-github-action/button-merge-pull-request.png b/public/posts/deploy-vercel-github-action/button-merge-pull-request.png
    deleted file mode 100644
    index 0ba31eb..0000000
    Binary files a/public/posts/deploy-vercel-github-action/button-merge-pull-request.png and /dev/null differ
    diff --git a/public/posts/deploy-vercel-github-action/close-pull-request.png b/public/posts/deploy-vercel-github-action/close-pull-request.png
    deleted file mode 100644
    index fcf5213..0000000
    Binary files a/public/posts/deploy-vercel-github-action/close-pull-request.png and /dev/null differ
    diff --git a/public/posts/deploy-vercel-github-action/configure-project-vercel.png b/public/posts/deploy-vercel-github-action/configure-project-vercel.png
    deleted file mode 100644
    index d2aa6ac..0000000
    Binary files a/public/posts/deploy-vercel-github-action/configure-project-vercel.png and /dev/null differ
    diff --git a/public/posts/deploy-vercel-github-action/confirm-merge-pull-request.png b/public/posts/deploy-vercel-github-action/confirm-merge-pull-request.png
    deleted file mode 100644
    index 120473a..0000000
    Binary files a/public/posts/deploy-vercel-github-action/confirm-merge-pull-request.png and /dev/null differ
    diff --git a/public/posts/deploy-vercel-github-action/connect-vercel-github.png b/public/posts/deploy-vercel-github-action/connect-vercel-github.png
    deleted file mode 100644
    index 3b18bee..0000000
    Binary files a/public/posts/deploy-vercel-github-action/connect-vercel-github.png and /dev/null differ
    diff --git a/public/posts/deploy-vercel-github-action/create-branch-ruleset-github.png b/public/posts/deploy-vercel-github-action/create-branch-ruleset-github.png
    deleted file mode 100644
    index d687560..0000000
    Binary files a/public/posts/deploy-vercel-github-action/create-branch-ruleset-github.png and /dev/null differ
    diff --git a/public/posts/deploy-vercel-github-action/create-ci-yml.png b/public/posts/deploy-vercel-github-action/create-ci-yml.png
    deleted file mode 100644
    index 874c63d..0000000
    Binary files a/public/posts/deploy-vercel-github-action/create-ci-yml.png and /dev/null differ
    diff --git a/public/posts/deploy-vercel-github-action/dashboard-vercel.png b/public/posts/deploy-vercel-github-action/dashboard-vercel.png
    deleted file mode 100644
    index ae6cf46..0000000
    Binary files a/public/posts/deploy-vercel-github-action/dashboard-vercel.png and /dev/null differ
    diff --git a/public/posts/deploy-vercel-github-action/error-directly-change-main-branch.png b/public/posts/deploy-vercel-github-action/error-directly-change-main-branch.png
    deleted file mode 100644
    index 48371cd..0000000
    Binary files a/public/posts/deploy-vercel-github-action/error-directly-change-main-branch.png and /dev/null differ
    diff --git a/public/posts/deploy-vercel-github-action/importing-project-counter-js.png b/public/posts/deploy-vercel-github-action/importing-project-counter-js.png
    deleted file mode 100644
    index d5c303f..0000000
    Binary files a/public/posts/deploy-vercel-github-action/importing-project-counter-js.png and /dev/null differ
    diff --git a/public/posts/deploy-vercel-github-action/insert-phone-number-vercel.png b/public/posts/deploy-vercel-github-action/insert-phone-number-vercel.png
    deleted file mode 100644
    index 0c957f4..0000000
    Binary files a/public/posts/deploy-vercel-github-action/insert-phone-number-vercel.png and /dev/null differ
    diff --git a/public/posts/deploy-vercel-github-action/install-vercel.png b/public/posts/deploy-vercel-github-action/install-vercel.png
    deleted file mode 100644
    index 13955ac..0000000
    Binary files a/public/posts/deploy-vercel-github-action/install-vercel.png and /dev/null differ
    diff --git a/public/posts/deploy-vercel-github-action/merge-pull-request.png b/public/posts/deploy-vercel-github-action/merge-pull-request.png
    deleted file mode 100644
    index 193cc90..0000000
    Binary files a/public/posts/deploy-vercel-github-action/merge-pull-request.png and /dev/null differ
    diff --git a/public/posts/deploy-vercel-github-action/permission-install-vercel.png b/public/posts/deploy-vercel-github-action/permission-install-vercel.png
    deleted file mode 100644
    index eeb5333..0000000
    Binary files a/public/posts/deploy-vercel-github-action/permission-install-vercel.png and /dev/null differ
    diff --git a/public/posts/deploy-vercel-github-action/push-ci-yml.png b/public/posts/deploy-vercel-github-action/push-ci-yml.png
    deleted file mode 100644
    index 587e616..0000000
    Binary files a/public/posts/deploy-vercel-github-action/push-ci-yml.png and /dev/null differ
    diff --git a/public/posts/deploy-vercel-github-action/require-status-checks-pass.png b/public/posts/deploy-vercel-github-action/require-status-checks-pass.png
    deleted file mode 100644
    index e7a9492..0000000
    Binary files a/public/posts/deploy-vercel-github-action/require-status-checks-pass.png and /dev/null differ
    diff --git a/public/posts/deploy-vercel-github-action/settings-ruleset.png b/public/posts/deploy-vercel-github-action/settings-ruleset.png
    deleted file mode 100644
    index 5944fe3..0000000
    Binary files a/public/posts/deploy-vercel-github-action/settings-ruleset.png and /dev/null differ
    diff --git a/public/posts/deploy-vercel-github-action/sign-up-vercel.png b/public/posts/deploy-vercel-github-action/sign-up-vercel.png
    deleted file mode 100644
    index 61da6ef..0000000
    Binary files a/public/posts/deploy-vercel-github-action/sign-up-vercel.png and /dev/null differ
    diff --git a/public/posts/deploy-vercel-github-action/success-deploy.png b/public/posts/deploy-vercel-github-action/success-deploy.png
    deleted file mode 100644
    index 20d9202..0000000
    Binary files a/public/posts/deploy-vercel-github-action/success-deploy.png and /dev/null differ
    diff --git a/public/posts/deploy-vercel-github-action/test-workflow-pass.png b/public/posts/deploy-vercel-github-action/test-workflow-pass.png
    deleted file mode 100644
    index 5ee84aa..0000000
    Binary files a/public/posts/deploy-vercel-github-action/test-workflow-pass.png and /dev/null differ
    diff --git a/public/posts/deploy-vercel-github-action/test-workflow-pending.png b/public/posts/deploy-vercel-github-action/test-workflow-pending.png
    deleted file mode 100644
    index 41ffa21..0000000
    Binary files a/public/posts/deploy-vercel-github-action/test-workflow-pending.png and /dev/null differ
    diff --git a/public/posts/deploy-vercel-github-action/verify-vercel-sign-up.png b/public/posts/deploy-vercel-github-action/verify-vercel-sign-up.png
    deleted file mode 100644
    index 9aff143..0000000
    Binary files a/public/posts/deploy-vercel-github-action/verify-vercel-sign-up.png and /dev/null differ