Github Action: Otomatisasi Pembangunan, Pengujian dan Penerapan


Pengertian

Saat ini ada banyak sekali bermunculan tools yang menawarkan kemudahan dalam menjalankan praktik CI/CD, dari beberapa tools tersebut salah satunya adalah GitHub Action. GitHub Action ini merupakan salah satu produk resmi dari GitHub repositori yang sering digunakan oleh para Developer untuk menyimpan dan memanajemen souce kode dengan rapi dan teratur.

GitHub Actions hadir sebagai tools yang sangat membantu bagi para DevOps, dengan menggunakan GitHub Action dapat memungkinkan Devops untuk menjalankan dan mengotomatisasi alur kerja ketika terjadi perubahan source code di repositori. GitHub Actions ini dapat di integrasikan atau dikombinaskan dengan beberapa tools yang digunakan seperti SonarQube, Trivy File Scan dan lain-lainnya.

GitHub Action dapat support dengan sistem operasi Linux, Windows, dan macOS, GitHub Action juga dapat menghosting runner yang dihosting sendiri di pusat data atau infrastruktur cloud sendiri. Kita dapat melakukan hosting runner pada Server Linux Ubuntu yang sudah dikonfigurasi.

Langkah – langkah konfigurasi

Didalam source code file action nantinya terdapat baris yang bertuliskan “runs-on: self-hosted”, yang berarti file ini akan berjalan pada runner yang bernama self-hosted. Runner ini merupakan sebutan untuk server yang digunakan untuk memproses jalannya pratik CI/CD ini. Untuk menambahakan server sebagai runner caranya sudah ada pada GitHub dibagian tab Setting > Action > Runner > New self-hosted runner.

Setelah berhasil menambahkan runner file action dapat lanjut dalam pembuatan file action, berikut merupakan contoh langkah-langkah alur kerja dan cara menjalankannya dalam pekerjaan:

Berikut contoh dari souce kode file action:

name: Self-hosted Runner

on:
  # Jenis peristiwa yang memicu eksekusi, misalnya saat ada commit atau push ke repositori
  push:
    branches: [ main ]

jobs:
  build:
    # Nama job
    name: Build on Self-hosted Runner

    # Runner yang akan digunakan, disesuaikan dengan nama yang Anda berikan saat pendaftaran runner
    runs-on: self-hosted

    # Langkah-langkah yang akan dijalankan dalam job ini
    steps:
      - name: Checkout code
        uses: actions/checkout@v2

      # Tambahkan langkah-langkah lain sesuai kebutuhan, seperti build, test, atau deploy
      - name: Run a script
        run: echo Hello, world!

GitHub Actions merupakan tools integrasi berkelanjutan dan pengiriman berkelanjutan (CI/CD), sehingga dapat melakukan otomatisasi pembangunan, pengujian, dan penerapan. GitHub Action ini dapat langsung membuat alur kerja untuk membangun dan menguji setiap permintaan commit dan push ke repositori kerja/proyek.

Sumber: Dokumentasi GitHub Actions