Traffine I/O

Bahasa Indonesia

2023-02-03

Apa itu GitHub Actions

Apa itu GitHub Actions

GitHub Actions adalah platform otomatisasi yang kuat yang terintegrasi ke dalam GitHub yang memungkinkan pengembang untuk menyederhanakan dan mengoptimalkan proses pengembangan perangkat lunak mereka. Alat yang fleksibel ini memungkinkan Anda membuat alur kerja kustom yang mengotomatisasi tugas-tugas berulang, seperti integrasi berkelanjutan (CI), penyebaran berkelanjutan (CD), dan pengujian, langsung di dalam repositori Anda.

GitHub Actions menyediakan cara yang mulus untuk mendefinisikan, mengelola, dan menjalankan alur kerja secara langsung di dalam repositori GitHub Anda. Ini dirancang untuk bekerja dengan platform GitHub, sehingga mudah untuk diintegrasikan dengan fitur GitHub lainnya, seperti pelacakan isu, permintaan tarik, dan tinjauan kode.

Dengan memanfaatkan GitHub Actions, Anda dapat:

  • Menghemat waktu dan mengurangi kesalahan dengan mengotomatisasi tugas-tugas berulang.
  • Meningkatkan siklus pengembangan perangkat lunak Anda dengan alur kerja CI/CD.
  • Meningkatkan kolaborasi dan kualitas kode dengan menerapkan standar kode dan praktik terbaik secara otomatis.
  • Mengintegrasikan dengan alat dan layanan pihak ketiga, seperti Docker, Node.js, dan AWS.
  • Menyesuaikan dan memperluas alur kerja untuk memenuhi kebutuhan spesifik Anda.

Komponen-Komponen GitHub Actions

Komponen utama dari GitHub Actions meliputi:

  • Event
    Suatu aktivitas khusus yang memicu alur kerja GitHub Actions. Contoh dari kejadian termasuk pengiriman ke repositori, permintaan tarik, komentar pada isu, atau interval terjadwal.

  • Job
    Kumpulan tugas atau langkah-langkah yang dijalankan pada pelari yang sama (mesin virtual) dalam suatu alur kerja. Pekerjaan dapat dijalankan secara berurutan atau paralel, tergantung pada dependensinya.

  • Action
    Sebuah bagian kode yang dapat digunakan sebagai langkah dalam pekerjaan. Tindakan dapat dibuat oleh Anda, komunitas, atau GitHub. Mereka dapat ditemukan di GitHub Marketplace dan dapat diintegrasikan ke dalam alur kerja Anda.

  • Menyiapkan Repositori Anda
    Sebelum Anda dapat mulai menggunakan GitHub Actions, Anda perlu memastikan bahwa repositori Anda diatur dengan benar. Untuk melakukannya, ikuti langkah-langkah berikut:

  1. Buat repositori GitHub baru atau navigasi ke yang sudah ada.
  2. Pastikan repositori Anda memiliki folder .github di direktori root. Jika tidak ada, buat satu.
  3. Di dalam folder .github, buat folder baru bernama workflows. Ini adalah tempat Anda akan menyimpan semua file alur kerja GitHub Actions Anda.

Menulis Tindakan Anda

Anatomi Berkas Alur Kerja

Sebuah alur kerja didefinisikan menggunakan file YAML (Yet Another Markup Language). File-file ini disimpan di folder .github/workflows di dalam repositori Anda. Sebuah file alur kerja yang tipikal terdiri dari komponen-komponen berikut:

  • Name
    Nama yang dapat dibaca oleh manusia untuk alur kerja Anda.

  • Triggers
    Kejadian yang memicu alur kerja (misalnya, push, pull_request, atau schedule).

-Jobs
Sejumlah tugas yang akan dijalankan oleh alur kerja Anda.

  • Steps
    Tugas-tugas individu dalam pekerjaan. Langkah-langkah dapat berupa tindakan yang telah ditentukan sebelumnya atau skrip khusus.

Sintaks dan Struktur Dasar

Berikut adalah contoh file alur kerja sederhana yang mencetak "Hello, World!" ketika kejadian push terjadi pada cabang main:

.github/workflows/example.yaml
name: My First Workflow

on:
  push:
    branches:
      - main

jobs:
  hello_world:
    runs-on: ubuntu-latest
    steps:
      - name: Print message
        run: echo "Hello, World!"

Dalam contoh ini, alur kerja dipicu oleh kejadian push pada cabang main. Pekerjaan hello_world dieksekusi pada versi terbaru lingkungan virtual Ubuntu, dan memiliki satu langkah yang menjalankan perintah echo "Hello, World!".

Menggunakan Tindakan yang Ditentukan Sebelumnya

GitHub Actions menyediakan berbagai tindakan yang ditentukan sebelumnya yang dapat digunakan untuk melakukan tugas-tugas umum. Tindakan-tindakan ini tersedia di GitHub Marketplace dan dapat ditambahkan ke alur kerja Anda hanya dengan beberapa baris YAML. Beberapa tindakan yang ditentukan sebelumnya yang populer meliputi:

  • actions/checkout: Memeriksa repositori Anda ke pelari.
  • actions/setup-node: Menyiapkan lingkungan Node.js.
  • actions/cache: Menyimpan cache dependensi dan hasil build untuk meningkatkan waktu eksekusi alur kerja.

Berikut adalah contoh alur kerja yang menggunakan tindakan yang ditentukan sebelumnya untuk menyiapkan lingkungan Node.js, menginstal dependensi, dan menjalankan pengujian:

.github/workflows/example.yaml
name: Node.js CI

on: [push, pull_request]

jobs:
  build:
    runs-on: ubuntu-latest

    strategy:
      matrix:
        node-version: [12.x, 14.x, 16.x]

    steps:
    - uses: actions/checkout@v2
    - name: Set up Node.js ${{ matrix.node-version }}
      uses: actions/setup-node@v2
      with:
        node-version: ${{ matrix.node-version }}
    - run: npm ci
    - run: npm test

Dalam contoh ini, alur kerja dipicu oleh kejadian push dan pull_request. Pekerjaan build menyiapkan lingkungan Node.js dengan versi yang ditentukan dan menjalankan perintah npm ci dan npm test.

Harga

GitHub Actions menawarkan tier gratis dengan resource terbatas untuk repositori publik dan model pay-as-you-go untuk repositori pribadi.

Untuk repositori publik, Anda mendapatkan menit tak terbatas dan 20 pekerjaan yang berjalan secara bersamaan.

Untuk repositori pribadi, tier gratis menyediakan 2.000 menit per bulan dan 5 pekerjaan yang berjalan secara bersamaan. Menit dan resource tambahan dapat dibeli dengan tarif yang bervariasi, tergantung pada jenis akun dan penggunaannya. Untuk informasi harga yang lebih detail, kunjungi halaman harga GitHub Actions.

https://github.com/pricing

Referensi

https://docs.github.com/en/actions
https://github.com/features/actions
https://github.com/pricing

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!