Variabel Lingkungan dan Rahasia
Pelajari cara mengelola informasi sensitif dan konfigurasi khusus lingkungan dengan aman dalam GitHub Actions.
Variabel Lingkungan dan Rahasia 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.
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 variableVariabel 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 emptyMemperkenalkan 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.
- Buka Pengaturan repositori Anda.
- Buka Rahasia dan variabel > Tindakan.
- Klik Rahasia repositori baru (atau rahasia organisasi untuk cakupan yang lebih luas).
- 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 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 “Variabel Lingkungan dan Rahasia”?
Pelajari cara mengelola informasi sensitif dan konfigurasi khusus lingkungan dengan aman dalam GitHub Actions. 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 “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 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
- Pengantar Penerapan Berkelanjutan
- Menerapkan ke Lingkungan Staging
- Variabel Lingkungan dan Rahasia
- Menerapkan ke Produksi dengan Gerbang Persetujuan