Files
github-action/wiki/Onboarding.ms.md
T
Tirsvad 0ecdcbe804
Validate workflows / validate (pull_request) Successful in 13s
Record that scoped delivery is verified across organisations
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
2026-10-10 11:15:38 +08:00

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

  1. Semak prasyarat dalam repositori: Actions diaktifkan, dan runner dengan label ubuntu-latest dan python3 berada dalam talian (lihat Runners).
  2. 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.
  3. 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_GITEA
    • PAT_FOR_GITHUB (token GitHub sahaja)
  4. 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.yml dari repositori ini ke .gitea/workflows/ dalam repositori sasaran, sematkan salinan itu pada versi yang telah disemak dan salin semula apabila ia berubah.
  5. Tetapkan penerangan dan topik pada repositori Gitea, supaya ada sesuatu untuk disegerakkan.
  6. 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.
  7. 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