0Pricing
DevOps Bootcamp · Pelajaran

Variabel Lingkungan dan Rahasia

Pelajari cara mengelola informasi sensitif dan konfigurasi khusus lingkungan dengan aman dalam GitHub Actions.

Variabel Lingkungan dan Rahasia adalah pelajaran DevOps Bootcamp 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 DevOps Bootcamp, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus DevOps Bootcamp mencakup 4 pelajaran total.

Dasar-Dasar Variabel Lingkungan dan Rahasia

Selamat datang di Pelajaran 3! Dalam CI/CD, Anda sering perlu mengonfigurasi alur dengan nilai dinamis atau informasi sensitif.

Di sinilah variabel lingkungan dan rahasia menjadi sangat penting. Keduanya memungkinkan alur kerja Anda beradaptasi dengan berbagai situasi dan menangani data sensitif secara aman.

Mengapa Menggunakannya dalam CI/CD?

Bayangkan Anda menerapkan aplikasi ke lingkungan yang berbeda (pengembangan, praproduksi, dan produksi) atau terhubung ke layanan eksternal menggunakan kunci API.

  • Fleksibilitas: Variabel lingkungan memungkinkan Anda mengubah perilaku tanpa mengubah berkas alur kerja.
  • Keamanan: Rahasia melindungi data sensitif, seperti kata sandi dan token API, agar tidak terbuka.
  • Dapat Digunakan Kembali: Tentukan konfigurasi sekali, lalu gunakan di beberapa tugas atau langkah.

Variabel Lingkungan dalam GitHub Actions

Variabel lingkungan adalah nilai dengan nama dinamis yang dapat memengaruhi perilaku proses yang sedang berjalan. Dalam GitHub Actions, variabel ini menjadi kunci untuk membuat alur kerja Anda dapat dikonfigurasi.

Anda dapat menentukan variabel lingkungan sendiri atau menggunakan berbagai variabel bawaan yang disediakan oleh GitHub Actions.

Variabel Lingkungan Bawaan GitHub Actions

GitHub Actions secara otomatis menyediakan banyak variabel lingkungan yang berguna dan telah ditentukan sebelumnya. Variabel ini memberikan konteks tentang repositori, eksekusi alur kerja, dan hal lainnya.

Misalnya, GITHUB_SHA adalah hash komit, sedangkan GITHUB_REF adalah nama cabang atau label yang memicu alur kerja.

Anda dapat mengaksesnya menggunakan objek konteks github dalam ekspresi, atau langsung sebagai variabel shell jika dipetakan ke env.

name: Print Context Variables
on: [push]
jobs:
  display_info:
    runs-on: ubuntu-latest
    steps:
      - name: Show commit SHA
        run: echo "Commit SHA: ${{ github.sha }}"
      - name: Show branch/tag ref
        run: echo "Ref: ${{ github.ref }}"

Variabel Lingkungan Kustom: Cakupan Alur Kerja

Anda dapat menentukan variabel lingkungan sendiri pada tingkat alur kerja atau tugas. Variabel yang ditentukan pada tingkat alur kerja tersedia untuk semua tugas dan langkah dalam alur kerja tersebut.

Gunakan kata kunci env di tingkat teratas berkas alur kerja untuk menetapkannya.

name: Workflow-level Env Var
on: [push]
env:
  GREETING_MESSAGE: "Hello from Workflow!"
jobs:
  my_job:
    runs-on: ubuntu-latest
    steps:
      - name: Access workflow variable
        run: echo "${{ env.GREETING_MESSAGE }}" # Access via env context
      - name: Access workflow variable (shell)
        env:
          MY_VAR_IN_SHELL: ${{ env.GREETING_MESSAGE }}
        run: echo "$MY_VAR_IN_SHELL" # Access as shell variable

Variabel Lingkungan Kustom: Cakupan Tugas dan Langkah

Untuk kebutuhan yang lebih spesifik, tentukan variabel lingkungan pada tingkat tugas atau langkah. Variabel yang ditentukan untuk suatu tugas tersedia bagi semua langkahnya, sedangkan variabel tingkat langkah hanya tersedia untuk langkah tersebut.

Dengan demikian, Anda dapat mengendalikan konfigurasi secara lebih terperinci.

name: Job & Step-level Env Vars
on: [push]
jobs:
  my_job:
    runs-on: ubuntu-latest
    env:
      JOB_VAR: "Value for this job"
    steps:
      - name: Access Job-level variable
        run: echo "Job Var: ${{ env.JOB_VAR }}"
      - name: Step-specific variable
        env:
          STEP_VAR: "Value for this step"
        run: echo "Step Var: ${{ env.STEP_VAR }}"
      - name: Try to access step var in another step
        run: echo "Trying to access: ${{ env.STEP_VAR }}" || true # Will be empty

Memperkenalkan Rahasia GitHub

Variabel lingkungan sangat baik untuk data yang tidak sensitif, tetapi bagaimana dengan informasi rahasia seperti kunci API, kata sandi basis data, atau token pribadi?

Di sinilah Rahasia GitHub berperan. Rahasia memungkinkan Anda menyimpan informasi sensitif secara aman dan mengaksesnya dalam alur kerja tanpa membukanya di kode atau catatan repositori.

  • Dienkripsi: Disimpan secara aman oleh GitHub.
  • Disamarkan: Disembunyikan secara otomatis dari catatan alur kerja.
  • Akses Terkendali: Hanya tersedia untuk alur kerja tertentu.

Membuat Rahasia GitHub

Rahasia dibuat dan dikelola melalui pengaturan repositori atau organisasi Anda di GitHub, bukan langsung di berkas alur kerja.

  1. Buka Pengaturan repositori Anda.
  2. Buka Rahasia dan variabel > Tindakan.
  3. Klik Rahasia repositori baru (atau rahasia organisasi untuk cakupan yang lebih luas).
  4. Masukkan Nama, misalnya MY_API_KEY, lalu tempelkan Nilai.

Setelah disimpan, Anda tidak dapat melihat nilai rahasia lagi; Anda hanya dapat memperbarui atau menghapusnya.

Menggunakan Rahasia dalam Alur Kerja

Untuk menggunakan suatu rahasia, Anda merujuknya menggunakan objek konteks secrets dalam alur kerja, serupa dengan cara Anda menggunakan env untuk variabel lingkungan.

GitHub secara otomatis menyamarkan rahasia dari catatan, dengan mengganti nilainya menjadi *** untuk mencegah terbukanya rahasia secara tidak sengaja.

name: Use a Secret Demo
on: [push]
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Display a secret (redacted)
        run: echo "My secret key is: ${{ secrets.MY_API_KEY }}"
        # GitHub Actions automatically redacts the value in logs.
      - name: Pass secret to an environment variable
        env:
          API_KEY_ENV: ${{ secrets.MY_API_KEY }}
        run: echo "API Key in env: $API_KEY_ENV"

Praktik Terbaik Keamanan Rahasia

Mengelola rahasia secara aman sangat penting bagi integritas alur CI/CD Anda. Selalu ikuti panduan berikut:

  • Hak Akses Minimum: Berikan akses ke rahasia hanya jika benar-benar diperlukan.
  • Jangan Menyematkan Rahasia: Jangan menyematkan rahasia langsung di berkas alur kerja atau kode repositori mana pun.
  • Hindari Pencatatan: Meskipun GitHub menyamarkan rahasia, hindari perintah echo khusus yang mungkin secara tidak sengaja mengungkapkan sebagian rahasia.
  • Ganti Secara Berkala: Ubah rahasia Anda secara berkala untuk meminimalkan risiko pembobolan.
  • Khusus Lingkungan: Gunakan rahasia yang berbeda untuk lingkungan pengembangan, praproduksi, dan produksi.

Pemeriksaan Singkat: Variabel Lingkungan dan Rahasia

Pernyataan mana yang secara akurat menjelaskan perbedaan utama atau fitur variabel lingkungan dan rahasia GitHub Actions?

Ringkasan: Konfigurasi Aman

Hebat! Anda berhasil mempelajari cara mengelola konfigurasi dalam alur kerja GitHub Actions.

  • Variabel lingkungan membantu Anda menyisipkan data dinamis yang tidak sensitif ke dalam eksekusi alur kerja, dan dapat disesuaikan pada tingkat alur kerja, pekerjaan, atau langkah.
  • Rahasia sangat penting untuk menangani informasi sensitif seperti kunci API dengan aman, sehingga tetap terenkripsi dan tidak tercantum dalam kode publik Anda.
  • Selalu ikuti praktik terbaik keamanan saat menggunakan rahasia untuk melindungi penerapan Anda dari kerentanan.

Penguasaan konsep-konsep ini memastikan alur CI/CD Anda fleksibel dan aman!

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Variabel Lingkungan dan Rahasia” gratis?

Ya — teks lengkap “Variabel Lingkungan dan Rahasia” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus DevOps Bootcamp, upgrade ke CoddyKit PRO. Kursus DevOps Bootcamp mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Variabel Lingkungan dan Rahasia”?

Pelajari cara mengelola informasi sensitif dan konfigurasi khusus lingkungan dengan aman dalam GitHub Actions. Kamu berlatih DevOps Bootcamp 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 DevOps Bootcamp?

Tidak diperlukan pengalaman sebelumnya. DevOps Bootcamp 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 “Variabel Lingkungan dan Rahasia” 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 DevOps Bootcamp ini?

Ya. Setiap pelajaran DevOps Bootcamp 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. Pengantar Penerapan Berkelanjutan
  2. Menerapkan ke Lingkungan Staging
  3. Variabel Lingkungan dan Rahasia
  4. Menerapkan ke Produksi dengan Gerbang Persetujuan
← Kembali ke DevOps Bootcamp