Pemboleh Ubah dan Rahsia Persekitaran
Pelajari cara mengurus maklumat sensitif dan konfigurasi khusus persekitaran dengan selamat dalam GitHub Actions.
Pemboleh Ubah dan Rahsia Persekitaran ialah pelajaran Kem Intensif DevOps percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Kem Intensif DevOps, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Kem Intensif DevOps merangkumi sejumlah 4 pelajaran.
Asas Pemboleh Ubah Persekitaran dan Rahsia
Selamat datang ke Pelajaran 3! Dalam CI/CD, anda sering perlu mengkonfigurasi saluran paip dengan nilai dinamik atau maklumat sensitif.
Di sinilah pemboleh ubah persekitaran dan rahsia menjadi sangat penting. Kedua-duanya membolehkan aliran kerja anda menyesuaikan diri dengan senario yang berbeza dan mengendalikan data sensitif dengan selamat.
Mengapa Menggunakannya dalam CI/CD?
Bayangkan anda menerapkan aplikasi ke persekitaran yang berbeza (pembangunan, pementasan dan produksi) atau menyambung kepada perkhidmatan luaran menggunakan kunci API.
- Fleksibiliti: Pemboleh ubah persekitaran membolehkan anda mengubah tingkah laku tanpa mengubah suai fail aliran kerja.
- Keselamatan: Rahsia melindungi data sensitif seperti kata laluan dan token API daripada terdedah.
- Kebolehgunaan Semula: Takrifkan konfigurasi sekali dan gunakannya merentas beberapa tugas atau langkah.
Pemboleh Ubah Persekitaran dalam GitHub
Pemboleh ubah persekitaran ialah nilai yang mempunyai nama dinamik dan boleh mempengaruhi cara proses yang sedang berjalan bertindak. Dalam GitHub, pemboleh ubah ini penting untuk menjadikan aliran kerja anda boleh dikonfigurasi.
Anda boleh mentakrifkan pemboleh ubah persekitaran sendiri atau menggunakan banyak pemboleh ubah terbina dalam yang disediakan oleh GitHub.
Pemboleh Ubah Persekitaran Terbina dalam GitHub
GitHub menyediakan banyak pemboleh ubah persekitaran berguna yang telah ditakrifkan terlebih dahulu secara automatik. Pemboleh ubah ini memberikan konteks tentang repositori, pelaksanaan aliran kerja dan perkara lain.
Contohnya, GITHUB_SHA ialah cincangan komit, manakala GITHUB_REF ialah nama cawangan atau teg yang mencetuskan aliran kerja.
Anda mengaksesnya menggunakan objek konteks github dalam ungkapan atau secara terus sebagai pemboleh ubah shell jika dipetakan kepada 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 }}"Pemboleh Ubah Persekitaran Tersuai: Skop Aliran Kerja
Anda boleh mentakrifkan pemboleh ubah persekitaran sendiri pada peringkat aliran kerja atau tugas. Pemboleh ubah yang ditakrifkan pada peringkat aliran kerja tersedia untuk semua tugas dan langkah dalam aliran kerja tersebut.
Gunakan kata kunci env pada peringkat teratas fail aliran kerja anda 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 variablePemboleh Ubah Persekitaran Tersuai: Skop Tugas dan Langkah
Untuk keperluan yang lebih khusus, takrifkan pemboleh ubah persekitaran pada peringkat tugas atau langkah. Pemboleh ubah yang ditakrifkan untuk sesuatu tugas tersedia untuk semua langkahnya, manakala pemboleh ubah pada peringkat langkah hanya tersedia untuk langkah tersebut.
Hal ini membolehkan kawalan yang terperinci terhadap konfigurasi anda.
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 Rahsia GitHub
Pemboleh ubah persekitaran sesuai untuk data yang tidak sensitif, tetapi bagaimana pula dengan maklumat sulit seperti kunci API, kata laluan pangkalan data atau token peribadi?
Di sinilah Rahsia GitHub digunakan. Rahsia ini membolehkan anda menyimpan maklumat sensitif dengan selamat dan mengaksesnya dalam aliran kerja tanpa mendedahkannya dalam kod atau catatan repositori anda.
- Disulitkan: Disimpan dengan selamat oleh GitHub.
- Disembunyikan: Disorokkan secara automatik daripada catatan aliran kerja.
- Capaian Terkawal: Hanya tersedia untuk aliran kerja tertentu.
Mencipta Rahsia GitHub
Rahsia dicipta dan diurus melalui tetapan repositori atau organisasi anda di GitHub, bukan secara terus dalam fail aliran kerja.
- Lawati Tetapan repositori anda.
- Pergi ke Rahsia dan pemboleh ubah > Tindakan.
- Klik Rahsia repositori baharu (atau rahsia organisasi untuk skop yang lebih luas).
- Berikan Nama (contohnya
MY_API_KEY) dan tampalkan Nilai.
Selepas disimpan, anda tidak boleh melihat nilai rahsia itu lagi; anda hanya boleh mengemas kini atau memadamkannya.
Menggunakan Rahsia dalam Aliran Kerja
Untuk menggunakan rahsia, rujuk rahsia tersebut menggunakan objek konteks secrets dalam aliran kerja anda, sama seperti cara anda menggunakan env untuk pemboleh ubah persekitaran.
GitHub menyembunyikan rahsia daripada catatan secara automatik dengan menggantikan nilainya dengan *** bagi mengelakkan pendedahan 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"Amalan Terbaik Keselamatan Rahsia
Mengurus rahsia dengan selamat amat penting untuk keutuhan saluran paip CI/CD anda. Sentiasa ikuti panduan ini:
- Keistimewaan Minimum: Berikan capaian kepada rahsia hanya apabila benar-benar diperlukan.
- Jangan Benamkan Secara Tetap: Jangan masukkan rahsia secara terus dalam fail aliran kerja atau mana-mana kod repositori.
- Elakkan Pencatatan: Walaupun GitHub menyembunyikan rahsia, elakkan perintah echo tersuai yang mungkin mendedahkan bahagian rahsia secara tidak sengaja.
- Tukar Secara Berkala: Tukar rahsia anda secara berkala untuk mengurangkan risiko terjejas.
- Khusus untuk Persekitaran: Gunakan rahsia yang berbeza untuk persekitaran pembangunan, pementasan dan produksi.
Semakan Pantas: Pemboleh Ubah Persekitaran berbanding Rahsia
Pernyataan manakah yang menerangkan dengan tepat perbezaan utama atau ciri pemboleh ubah persekitaran dan rahsia dalam GitHub Actions?
Ulang Kaji: Konfigurasi Selamat
Tahniah! Anda berjaya meneroka cara mengurus konfigurasi dalam aliran kerja GitHub Actions.
- Pemboleh ubah persekitaran membantu anda memasukkan data dinamik yang tidak sensitif ke dalam pelaksanaan aliran kerja, serta boleh disesuaikan pada peringkat aliran kerja, tugas atau langkah.
- Rahsia penting untuk mengendalikan maklumat sensitif seperti kunci API dengan selamat, bagi memastikan maklumat tersebut kekal disulitkan dan tidak terdedah dalam kod awam anda.
- Sentiasa patuhi amalan terbaik keselamatan apabila bekerja dengan rahsia untuk melindungi penggunaan anda daripada kelemahan keselamatan.
Penguasaan konsep ini memastikan saluran paip CI/CD anda fleksibel dan selamat!
Pelajari Kem Intensif DevOps dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 142
- Pelajaran
- 568
Soalan Lazim
Adakah pelajaran “Pemboleh Ubah dan Rahsia Persekitaran” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Kem Intensif DevOps, termasuk “Pemboleh Ubah dan Rahsia Persekitaran”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Kem Intensif DevOps merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Pemboleh Ubah dan Rahsia Persekitaran”?
Pelajari cara mengurus maklumat sensitif dan konfigurasi khusus persekitaran dengan selamat dalam GitHub Actions. Anda berlatih Kem Intensif DevOps menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Kem Intensif DevOps?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Kem Intensif DevOps di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.
Berapa lamakah pelajaran “Pemboleh Ubah dan Rahsia Persekitaran” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Kem Intensif DevOps ini?
Ya. Setiap pelajaran Kem Intensif DevOps menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Pengenalan kepada Penggunaan Berterusan
- Menggunakan ke Persekitaran Pementasan
- Pemboleh Ubah dan Rahsia Persekitaran
- Menggunakan ke Pengeluaran dengan Pintu Kelulusan