0Pricing
CI/CD with GitHub Actions & DevOps Pipelines · Pelajaran

Alur Kerja dan Actions yang Dapat Digunakan Kembali

Buat dan manfaatkan alur kerja serta actions khusus yang dapat digunakan kembali untuk memodularkan pipeline dan menjaga konsistensi di seluruh repositori.

Alur Kerja dan Actions yang Dapat Digunakan Kembali adalah pelajaran CI/CD with GitHub Actions & DevOps Pipelines gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar CI/CD with GitHub Actions & DevOps Pipelines, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus CI/CD with GitHub Actions & DevOps Pipelines mencakup 4 pelajaran total.

Pengantar Penggunaan Ulang Alur Kerja

Dalam pengembangan perangkat lunak modern, efisiensi dan konsistensi sangat penting. Seiring bertambahnya proyek Anda, kebutuhan otomatisasi juga meningkat.

Alur kerja yang dapat digunakan ulang dan aksi khusus di GitHub Actions membantu Anda menghindari pengulangan, sehingga alur CI/CD Anda lebih mudah dipelihara dan lebih tangguh.

Mengapa Menggunakan Ulang Alur Kerja?

Bayangkan Anda memiliki beberapa aplikasi yang semuanya memerlukan langkah pembuatan, pengujian, atau penerapan yang sama. Menyalin-tempel kode alur kerja menyebabkan:

  • Duplikasi: Lebih banyak kode yang harus dipelihara.
  • Ketidakkonsistenan: Pembaruan pada berbagai alur kerja mudah terlewat.
  • Masalah Pemeliharaan: Perubahan mengharuskan Anda memperbarui banyak berkas.

Penggunaan ulang mengatasi masalah-masalah ini!

Menentukan Alur Kerja yang Dapat Digunakan Ulang

Alur kerja yang dapat digunakan ulang adalah alur kerja lengkap yang dapat dipanggil oleh alur kerja lain. Alur ini disimpan di repositori Anda dan berfungsi seperti templat.

Untuk membuat alur kerja dapat digunakan ulang, Anda menggunakan peristiwa workflow_call. Ini memberi tahu GitHub Actions bahwa alur kerja tersebut dimaksudkan untuk dipanggil, bukan dipicu oleh peristiwa umum seperti push atau pull_request.

Contoh Alur Kerja yang Dapat Digunakan Ulang

Berikut alur kerja sederhana yang menyimulasikan pembuatan. Simpan ini di .github/workflows/reusable-build.yml.

Alur ini menentukan output bernama build_id yang dapat digunakan oleh alur kerja pemanggil.

name: Reusable Build Component

on:
  workflow_call:
    outputs:
      build_id:
        description: "The ID of the build operation"
        value: ${{ jobs.build.outputs.build_id }}

jobs:
  build:
    runs-on: ubuntu-latest
    outputs:
      build_id: ${{ steps.generate_id.outputs.id }}
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
      - name: Generate build ID
        id: generate_id
        run: echo "id=$(date +%s)" >> "$GITHUB_OUTPUT"
      - name: Simulate build
        run: echo "Building project with ID ${{ steps.generate_id.outputs.id }}..."

Memanggil Alur Kerja yang Dapat Digunakan Ulang

Untuk menggunakan alur kerja yang dapat digunakan ulang, alur kerja lain ("pemanggil") menggunakan kata kunci uses, serupa dengan cara Anda menggunakan aksi GitHub.

Anda menentukan jalur ke berkas alur kerja yang dapat digunakan ulang di dalam repositori Anda, atau bahkan dari repositori lain atau versi tertentu.

Contoh Alur Kerja Pemanggil

Alur kerja ini, yang disimpan sebagai .github/workflows/main-app-ci.yml, memanggil alur kerja reusable-build.yml.

Perhatikan cara alur kerja ini mengakses keluaran build_id dari alur kerja yang dipanggil menggunakan jobs.call-build.outputs.build_id.

name: Main App CI

on: [push]

jobs:
  call-build:
    uses: ./.github/workflows/reusable-build.yml
    outputs:
      build_id: ${{ jobs.call-build.outputs.build_id }}
  
  deploy:
    needs: call-build
    runs-on: ubuntu-latest
    steps:
      - name: Deploy app
        run: echo "Deploying app built with ID ${{ needs.call-build.outputs.build_id }}"

Meneruskan Masukan ke Alur Kerja yang Dapat Digunakan Kembali

Alur kerja yang dapat digunakan kembali bukan sekadar templat statis; alur kerja ini dapat menerima masukan, sehingga menjadi sangat fleksibel.

Anda menentukan masukan yang diharapkan di bagian on: workflow_call: inputs: pada alur kerja yang dapat digunakan kembali, termasuk menentukan jenisnya, apakah masukan tersebut wajib diisi, dan deskripsinya. Alur kerja pemanggil meneruskan masukan ini menggunakan kata kunci with:.

Alur Kerja yang Dapat Digunakan Kembali dengan Masukan

Berikut adalah reusable-build.yml yang telah diperbarui dan menerima masukan target_env. Dengan demikian, logika pembuatan yang sama dapat disesuaikan untuk berbagai lingkungan.

name: Reusable Build Component with Input

on:
  workflow_call:
    inputs:
      target_env:
        required: true
        type: string
        description: "The target environment for the build"
    outputs:
      build_id:
        description: "The ID of the build operation"
        value: ${{ jobs.build.outputs.build_id }}

jobs:
  build:
    runs-on: ubuntu-latest
    outputs:
      build_id: ${{ steps.generate_id.outputs.id }}
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
      - name: Generate build ID
        id: generate_id
        run: echo "id=$(date +%s)" >> "$GITHUB_OUTPUT"
      - name: Simulate build for ${{ inputs.target_env }}
        run: echo "Building project for ${{ inputs.target_env }} with ID ${{ steps.generate_id.outputs.id }}..."

Contoh Pemanggilan dengan Masukan

Sekarang, alur kerja CI utama kita dapat memanggil komponen pembuatan yang dapat digunakan kembali sebanyak dua kali, masing-masing untuk 'pra-produksi' dan 'produksi', dengan meneruskan nilai target_env yang berbeda.

name: Main App CI with Input

on: [push]

jobs:
  call-build-staging:
    uses: ./.github/workflows/reusable-build-with-input.yml
    with:
      target_env: 'staging'
    outputs:
      build_id: ${{ jobs.call-build-staging.outputs.build_id }}
  
  call-build-prod:
    uses: ./.github/workflows/reusable-build-with-input.yml
    with:
      target_env: 'production'
    outputs:
      build_id: ${{ jobs.call-build-prod.outputs.build_id }}

Alur Kerja yang Dapat Digunakan Kembali vs. Tindakan Kustom

Meskipun keduanya mendorong penggunaan kembali, keduanya memiliki tujuan yang berbeda:

  • Alur Kerja yang Dapat Digunakan Kembali: Mengatur serangkaian tugas. Alur kerja ini menentukan struktur alur kerja yang lengkap, misalnya pembuatan, pengujian, dan penerapan.
  • Tindakan Kustom: Menjalankan satu tugas tertentu dalam sebuah tugas, misalnya menyiapkan Node.js atau menerbitkan paket. Tindakan ini merupakan blok penyusun *di dalam* langkah-langkah tugas.

Anggaplah alur kerja sebagai resep, sedangkan tindakan adalah bahan atau langkah individualnya.

Pemeriksaan Singkat

Manakah dari pilihan berikut yang merupakan manfaat utama penggunaan alur kerja yang dapat digunakan kembali dalam GitHub Actions?

Ringkasan: Alur Kerja & Tindakan yang Dapat Digunakan Kembali

Kita telah mempelajari bagaimana alur kerja yang dapat digunakan kembali membantu memodularisasi alur CI/CD Anda.

  • Alur kerja tersebut ditentukan menggunakan workflow_call.
  • Alur kerja tersebut dapat menerima inputs dan menyediakan outputs.
  • Alur kerja pemanggil menggunakan kata kunci uses.
  • Alur kerja tersebut berbeda dari tindakan kustom, yang merupakan blok penyusun untuk satu tugas dalam tugas-tugas.

Menerapkan penggunaan kembali menghasilkan otomatisasi yang lebih efisien, konsisten, dan mudah dipelihara di seluruh proyek Anda.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Alur Kerja dan Actions yang Dapat Digunakan Kembali” gratis?

Ya — teks lengkap “Alur Kerja dan Actions yang Dapat Digunakan Kembali” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus CI/CD with GitHub Actions & DevOps Pipelines, upgrade ke CoddyKit PRO. Kursus CI/CD with GitHub Actions & DevOps Pipelines mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Alur Kerja dan Actions yang Dapat Digunakan Kembali”?

Buat dan manfaatkan alur kerja serta actions khusus yang dapat digunakan kembali untuk memodularkan pipeline dan menjaga konsistensi di seluruh repositori. Kamu berlatih CI/CD with GitHub Actions & DevOps Pipelines dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai CI/CD with GitHub Actions & DevOps Pipelines?

Tidak diperlukan pengalaman sebelumnya. CI/CD with GitHub Actions & DevOps Pipelines di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Alur Kerja dan Actions yang Dapat Digunakan Kembali” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran CI/CD with GitHub Actions & DevOps Pipelines ini?

Ya. Setiap pelajaran CI/CD with GitHub Actions & DevOps Pipelines menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Build Matriks untuk Berbagai Lingkungan
  2. Menyimpan Dependensi dalam Tembolok demi Kecepatan
  3. Alur Kerja dan Actions yang Dapat Digunakan Kembali
  4. Eksekusi Kondisional dan Dependensi Tugas
← Kembali ke CI/CD with GitHub Actions & DevOps Pipelines