The onboarding guide said delivery to other repositories was not verified. On 2026-10-10 the sync workflow ran without a copy in repositories of four organisations, so a repository needs no copy and each organisation needs its own secrets. Regenerate the Onboarding wiki page and its translations. Task: MIL-002#2
4.5 KiB
Ini ialah terjemahan
Onboarding. Halaman bahasa Inggeris ialah teks yang sah, dan perubahan di sini akan ditimpa pada penerbitan wiki yang seterusnya.
English | Dansk | Bahasa Melayu
Menyertakan sebuah repositori
Cara seorang profesional DevOps menjadikan repositori TirSystem menggunakan aliran kerja bersama Sync GitHub mirror metadata, dan runner yang diperlukannya. Hanya aliran kerja ini yang wujud sekarang; aliran kerja semakan kualiti dan keluaran dirancang (lihat Pelan Projek).
Perkara yang telah disahkan
| Perkara | Status |
|---|---|
| Versi Gitea | 1.27.3 |
.gitea/scoped_workflows/sync-github-metadata.yml berjalan dalam repositori ini |
Disahkan: larian 16, workflow_dispatch, berjaya |
| Aliran kerja yang sama terpakai pada repositori lain secara automatik | Disahkan pada 2026-10-10: ia berjalan, tanpa salinan dalam repositori, dalam repositori TirSystem, TirSystem-BashScript, vl-staal dan Tirsvad-Udemy-100-days-of-code (contohnya TirSystem/sqa-qc-checklists dan TirSystem-BashScript/RepoFoundry). Skrip yang dijalankannya berubah apabila skrip repositori ini berubah. |
Penghantaran adalah automatik, jadi repositori tidak memerlukan salinan aliran kerja. Rahsia (secret) tidak dikongsi antara organisasi: setiap organisasi memerlukan rahsianya sendiri (langkah 3).
Langkah
- Semak prasyarat dalam repositori: Actions diaktifkan, dan runner dengan label
ubuntu-latestdanpython3berada dalam talian (lihat Runners). - Konfigurasikan satu push mirror GitHub dalam tetapan repositori (Settings, Repository, Mirror settings, Push mirror). Aliran kerja gagal jika terdapat beberapa cermin GitHub. Jika tiada, ia berjaya tanpa menyegerakkan apa-apa.
- Tambah dua rahsia (secret) dalam tetapan repositori (atau organisasi), dengan skop yang tertera dalam credentials.md. Aliran kerja berjalan dalam setiap repositori sesebuah organisasi, jadi simpan rahsia sekali bagi setiap organisasi; repositori dalam organisasi lain tidak melihatnya:
TOKEN_FOR_GITEAPAT_FOR_GITHUB(token GitHub sahaja)
- Hantar aliran kerja: scoped workflow terpakai pada setiap repositori dalam instans ini, jadi tiada apa yang perlu disalin. Hanya jika penghantaran scoped tidak disediakan, salin
.gitea/scoped_workflows/sync-github-metadata.ymldari repositori ini ke.gitea/workflows/dalam repositori sasaran, sematkan salinan itu pada versi yang telah disemak dan salin semula apabila ia berubah. - Tetapkan penerangan dan topik pada repositori Gitea, supaya ada sesuatu untuk disegerakkan.
- Jalankan sekali secara manual: Actions, Sync GitHub mirror metadata, Run workflow. Log mesti berakhir dengan
Synced description and topics to <owner>/<repo>.dan repositori GitHub mesti menunjukkan penerangan dan topik yang sama. - Jika gagal, gunakan troubleshooting.md.
Runners
| Perkara | Nilai |
|---|---|
| Label yang digunakan oleh aliran kerja | ubuntu-latest |
| Label yang ditawarkan oleh runner pada instans ini | ubuntu-latest, ubuntu-24.04, ubuntu-22.04 |
| Alat yang diperlukan oleh aliran kerja | python3 (pustaka standard sahaja), HTTPS keluar ke API Gitea dan api.github.com |
Diperlukan untuk actions/checkout (digunakan oleh aliran kerja pengesahan) |
git dan Node.js, biasanya terdapat dalam imej runner |
Semak bahawa runner yang sesuai berada dalam talian (memerlukan kebenaran untuk melihat runner):
curl -s -H "Authorization: token $GITEA_TOKEN" \
https://git.tirsystem.com/api/v1/repos/<owner>/<repo>/actions/runners
Bagi runner yang dikongsi oleh seluruh instans, pentadbir menggunakan /api/v1/admin/actions/runners. Pada masa penulisan, senarai repositori dan organisasi kosong dan satu runner peringkat instans (36cd20104923) berstatus online.
Runner luar talian atau tidak serasi
| Gejala | Punca yang mungkin | Tindakan |
|---|---|---|
Larian kekal waiting |
Tiada runner dalam talian yang mempunyai label dalam runs-on |
Mulakan runner, atau daftarkan satu dengan label itu |
| Kerja gagal pada permulaan dengan arahan yang tiada | Imej runner tiada python3, git atau Node.js |
Gunakan imej yang mempunyainya |
| Kerja tidak dapat mencapai API | Runner tiada HTTPS keluar | Betulkan tetapan rangkaian atau proksi runner |