Menerapkan Situs Web

Situs web F-Droid dibangun menggunakan Jekyll dan GitLab CI. Seluruh situs kini menggunakan alur kerja git standar “fork” workflow yang didukung dengan baik oleh GitLab dan umum dikenal di layanan seperti GitHub. Semua halaman dan informasi tentang aplikasi serta paket yang didistribusikan oleh f-droid.org dihasilkan menggunakan plugin jekyll-fdroid, yang mengambil konten dari f-droid.org index file.

Staging pada fork pengembangan

Semua fork pengembangan dari fdroid-website secara otomatis memiliki server staging yang dikonfigurasi dan dikelola melalui pengaturan gitlab-ci. Sistem ini secara otomatis menerapkan konten dari cabang master fork ke GitLab Pages. Misalnya, fork git milik nicoalt berada di https://gitlab.com/nicoalt/fdroid-website, dan cabang master dari repositori tersebut akan otomatis diterapkan di https://nicoalt.gitlab.io/fdroid-website.

Staging situs resmi

Seperti halnya fork, cabang master dari repositori utama situs web https://gitlab.com/fdroid/fdroid-website secara otomatis diterapkan di https://fdroid.gitlab.io/fdroid-website. Lokasi ini digunakan untuk meninjau status terkini situs sebelum merilis versi baru.

Penerapan ke https://f-droid.org

Ketika pembaruan situs telah diuji dan siap diluncurkan, manajer rilis membuat tag rilis yang ditandatangani PGP di repositori utama git. Server penerapan kemudian memantau repositori tersebut untuk mendeteksi tag baru. Setelah menemukan tag baru, sistem memverifikasi tanda tangan PGP-nya menggunakan keyring GnuPG yang telah dikonfigurasi secara manual, berisi hanya kunci publik yang diizinkan untuk penandatanganan rilis situs.

Setelah tag git terverifikasi, target f-droid.org dalam berkas .gitlab-ci.yml dijalankan untuk menghasilkan berkas aktual situs. Berkas-berkas tersebut kemudian disalin ke server f-droid.org.

Tag penerapan menggunakan skema penamaan “semantic versioning”:

  • <major>.<minor>
  • <minor> meningkat setiap kali dilakukan penerapan baru.
  • <major> hanya meningkat ketika ada perubahan besar.