EN: Read in English
Dunia 7: Robot: Actions & CI/CD
Rahsia, pemboleh ubah, persekitaran
Anda akan belajar: tempat simpan kunci dan tetapan, supaya workflow boleh guna dengan selamat.
Teks BM belum disemak oleh penutur asli.
Masalahnya
Deploy anda perlukan token Cloudflare. Tampal terus dalam ci.yml? Sesiapa yang boleh baca repo anda akan nampak. Di mana patut simpan?
Pilih satu jawapan.
Tengok
rahsia (secret) (secret): Kata laluan, kunci API atau token. Sesiapa yang ada boleh masuk. (rahsia) duduk berkunci dalam tetapan repo anda. Workflow baca ikut nama, contohnya ${{ secrets.MY_TOKEN }}. Tercetak tanpa sengaja? Log tunjuk ***. Namun, jangan sekali-kali cetak.
Tengok
Bukan semua tetapan rahsia. Alamat laman boleh ditunjuk. Simpan sebagai variable (pemboleh ubah) (variable (configuration variable)): Tetapan workflow biasa yang bukan rahsia, contohnya alamat laman. (pemboleh ubah), dan baca sebagai ${{ vars.SITE_URL }}. Susun yang ini.
Seret kad ke dalam kotak. Atau ketik kad, kemudian ketik kotak.
Tengok
environment (persekitaran) (environment): Tempat bernama untuk deploy, contohnya production, dengan rahsia dan peraturan sendiri. (persekitaran) ialah tempat bernama untuk deploy, contohnya production. Ia boleh simpan rahsia sendiri. Ia boleh tunggu kelulusan seseorang. Susun deploy yang dikawal ini.
Langkah pertama di atas. Susun ikut turutan. Guna anak panah, atau seret.
- Penyemak semak dan luluskan
- Job dapat rahsia production
- Laman baru dah live
- Job deploy bermula, kemudian menunggu
Cuba
Bina workflow deploy. Kunci mesti datang dari secrets.
Tekan blok untuk tambah. Susun ikut urutan.
Blok
Workflow anda
Tekan satu blok di atas untuk mula.
Fail workflow .github/workflows/
name: Deploy
Apa yang berjalan
Belum ada apa untuk dijalankan.
Petunjuk
Trigger, kemudian job, kemudian steps. Bina sebelum deploy.Teka
Orang asing buka PR dari fork mereka. Workflow anda berjalan padanya. Adakah ia dapat rahsia anda?
Pilih satu jawapan.
Anda berjaya!
Kini anda boleh jaga kunci dengan selamat dalam workflow.
Nak tahu lebih (pilihan)
Rahsia ada tiga peringkat: organisasi, repo dan environment. Rahsia environment hanya sampai kepada job yang guna environment itu. Peraturan environment boleh hadkan deploy kepada main sahaja. Pada pelan percuma GitHub, environment hanya berfungsi dalam repo awam.
English
Your deploy needs a Cloudflare token. Paste it into ci.yml? Anyone who can read your repo would see it. Where should it go?
A secret waits, locked, in your repo settings. A workflow reads it by name, like ${{ secrets.MY_TOKEN }}. Printed by mistake? The log shows ***. Still, never print it.
Not every setting is secret. A site address is fine to show. Store it as a variable, and read it as ${{ vars.SITE_URL }}. Sort these.
An environment is a named place you deploy to, like production. It can hold its own secrets. It can wait for a person to approve. Put a guarded deploy in order.
Build the deploy workflow. Keys must come from secrets.
A stranger opens a PR from their fork. Your workflow runs on it. Does it get your secrets?
You can now keep keys safe in your workflows.
Anda dah siapkan ini. Latihan lagi pun bagus!
Dokumentasi rasmi: Using secrets in GitHub Actions · Variables reference · Managing environments
Anda dah belajar 25 minit. Rehat sekejap bantu otak anda.
Pecutan selesai! Fokus yang hebat. Regangkan badan seminit?