EN: Read in English
Dunia 7: Robot: Actions & CI/CD
Workflow boleh guna semula
Anda akan belajar: cara tulis workflow sekali dan panggil dari banyak repo.
Teks BM belum disemak oleh penutur asli.
Masalahnya
Anda ada tiga laman. Setiap satu ada workflow ujian yang sama, 40 baris. Jumpa pepijat di dalamnya? Baiki tiga kali. Penatnya.
Tengok
Tulis resipi sekali, dalam satu repo kongsi. Workflow lain panggil resipi itu. Itulah reusable workflow (workflow boleh guna semula) (reusable workflow): Workflow yang workflow lain boleh panggil, dibuat dengan on: workflow_call. (workflow boleh guna semula). Trigger mana yang buat ia boleh dipanggil?
Pilih satu jawapan.
Tengok
Ketik baris yang panggil workflow kongsi itu.
0 daripada 1 dijumpai
Untuk memanggil, job tulis uses: dengan laluan fail itu. Ia duduk dalam job, bukan step. Job pemanggil tiada runs-on dan tiada steps.
Tengok
Hantar tetapan biasa dengan with:. Hantar kunci dengan secrets:. Susun setiap satu.
Seret kad ke dalam kotak. Atau ketik kad, kemudian ketik kotak.
Semak
Idea baik, atau perlu dibaiki? Leret setiap satu.
Leret ke kanan untuk bagus, ke kiri untuk perlu baiki. Atau guna butang.
Satu workflow ujian kongsi untuk ketiga-tiga laman
Semak
Anda push ke repo diary. Susun apa yang berlaku.
Langkah pertama di atas. Susun ikut turutan. Guna anak panah, atau seret.
- ✓ atau ✗ muncul pada commit anda
- Job test panggil shared/test.yml
- Job kongsi berjalan dengan input anda
- Workflow repo diary bermula
Anda berjaya!
Kini anda boleh kongsi satu workflow dengan banyak repo.
Nak tahu lebih (pilihan)
Composite action ialah sepupu yang lebih kecil. Ia himpunkan steps, dan anda guna sebagai satu step. Reusable workflow pula himpunkan job penuh. Failnya mesti duduk terus dalam .github/workflows/, bukan dalam subfolder. Dalam repo yang sama, panggil sebagai ./.github/workflows/test.yml.
English
You have three sites. Each has the same 40-line test workflow. Found a bug in it? Fix it three times. Ugh.
Write the recipe once, in one shared repo. Other workflows call it. That is a reusable workflow. Which trigger makes it callable?
To call it, a job says uses: with the file’s path. It goes in a job, not a step. The caller job has no runs-on and no steps.
Send plain settings with with:. Send keys with secrets:. Sort each one.
Good idea, or needs work? Swipe each one.
You push to the diary repo. Put what happens in order.
You can now share one workflow across many repos.
Anda dah siapkan ini. Latihan lagi pun bagus!
Dokumentasi rasmi: Reuse workflows · Workflow syntax: on.workflow_call
Anda dah belajar 25 minit. Rehat sekejap bantu otak anda.
Pecutan selesai! Fokus yang hebat. Regangkan badan seminit?