Cara Mudah Setting CI/CD di Github

CI/CD pipeline merupakan praktik DevOps untuk mempermudah proses pengembangan software

Handoyo Saputra | 20 Juli 2022

Ci CD

CI/CD adalah singkatan dari Continuous Integration dan Continuous Deployment (atau Continuous Delivery). Ini adalah praktik dalam pengembangan perangkat lunak yang bertujuan untuk mengotomatisasi dan mempermudah proses pengembangan, pengujian, dan pengiriman perangkat lunak.

Continuous Integration (Integrasi Berkelanjutan) melibatkan penggabungan secara otomatis kode yang dibuat oleh berbagai anggota tim pengembangan ke dalam satu repositori bersama. Tujuannya adalah untuk mencegah konflik yang muncul akibat perubahan yang dilakukan oleh berbagai anggota tim. Dengan melakukan integrasi secara teratur, tim dapat menemukan dan mengatasi masalah integrasi lebih cepat.

Continuous Deployment (Pengiriman Berkelanjutan) atau Continuous Delivery (Pengiriman Berkelanjutan) melibatkan otomatisasi proses pengujian dan pengiriman perangkat lunak ke lingkungan produksi secara berkesinambungan.

Setiap kali ada perubahan kode yang diintegrasikan, proses pengujian otomatis akan dijalankan untuk memastikan bahwa perangkat lunak masih berfungsi dengan baik. Jika pengujian berhasil, perangkat lunak dapat secara otomatis diterapkan ke lingkungan produksi.

Dengan menggabungkan CI/CD, tim pengembangan dapat menghasilkan perangkat lunak dengan lebih cepat, lebih andal, dan lebih efisien. Ini juga membantu mengurangi risiko kesalahan manusia dan memungkinkan perubahan-perubahan kecil diterapkan lebih sering, sehingga mendukung pengembangan perangkat lunak yang adaptif dan responsif terhadap kebutuhan pasar dan pengguna.

Cara Setting CI/CD di Github Via FTP

Sebelumnya pastikan anda sudah memahami fungsi dasar git seperti clone, add, commit, fetch, push dan pull.

  • Buat akun FTP di server anda.
  • Siapkan repository di Github dan clone di komputer lokal anda.
  • Buka repository di komputer lokal kemudian buat file baru di folder .github/workflows/ftp_deploy.yml
  • Edit file ftp_deploy.yml sebagai berikut, sesuaikan nama branch dan file yang ingin anda exclude. Disini saya menggunakan branch main.
on:
  push:
    branches:
      - main
name: 🚀 Deploy website on push
jobs:
  web-deploy:
    name: 🧑‍💻 Deploy
    runs-on: ubuntu-latest
    steps:
    - name: 📨 Get latest code
      uses: actions/checkout@v3

    - name: 🗃️ Sync files
      uses: SamKirkland/FTP-Deploy-Action@v4.3.4
      with:
        server: ${{ secrets.FTP_HOST }}
        port: ${{ secrets.FTP_PORT }}
        server-dir: ${{ secrets.FTP_DIR }}
        username: ${{ secrets.FTP_USER }}
        password: ${{ secrets.FTP_PASS }}
        exclude: .env*
          - .git*
          - .git*/**
          - photos/*
          - assets/images/profile/*
  • Buka repository anda di Github kemudian klik setting -> Secrets and Variables -> Actions.
  • Klik New Repository Secret. Pada bagian name masukkan FTP_HOST kemudian valuenya isikan domain atau alamat IP server anda lalu simpan.
  • Klik New Repository Secret. Pada bagian name masukkan FTP_DIR kemudian valuenya isikan path direktori anda di server lalu simpan.
  • Klik New Repository Secret. Pada bagian name masukkan FTP_PASS kemudian valuenya isikan password FTP server anda lalu simpan.
  • Klik New Repository Secret. Pada bagian name masukkan FTP_USER kemudian valuenya isikan username FTP server anda lalu simpan.
  • Klik New Repository Secret. Pada bagian name masukkan FTP_PORT kemudian valuenya isikan port FTP yaitu 21 lalu simpan.
Github CI/CD setting secrets
Github secrets and variables
  • Upload file ftp_deploy.yml dari komputer lokal anda ke repository server dengan git push.
  • Untuk mengecek apakah CI/CD sudah berjalan dengan benar silakan tambahkan file baru di komputer lokal anda kemudian lakukan git push. File tersebut seharusnya akan muncul pada server anda. Jika masih belum berhasil, cek erornya pada menu Actions di github.
Github Actions
Github actions
TagsCoding
TagsTips & Trick
visibility 11.346

Artikel Lainnya

Artikel Terbaru