Skip to content

Ship: Fenfa

Fenfa არის აპლიკაციების დისტრიბუციის პლატფორმა, აგებული Go-ითა და Vue 3-ით. ის ამუშავებს პაიპლაინის „ბოლო მილს”: იღებს CI/CD-დან აშენებულ არტეფაქტებს და ხელმისაწვდომს ხდის ჩამოტვირთვისთვის ყველა ძირითად პლატფორმაზე.

მხარდაჭერილი პლატფორმები

Section titled “მხარდაჭერილი პლატფორმები”
პლატფორმაფორმატებიფუნქციები
iOSIPAOTA ინსტალაცია, UDID ჩარიცხვა, manifest plist გენერაცია
AndroidAPKპირდაპირი ჩამოტვირთვა, QR კოდი
macOSDMGპირდაპირი ჩამოტვირთვა
WindowsEXE, MSIპირდაპირი ჩამოტვირთვა
LinuxAppImage, DEB, RPMპირდაპირი ჩამოტვირთვა

მონაცემთა მოდელი

Section titled “მონაცემთა მოდელი”

Fenfa ორგანიზებს დისტრიბუციებს სამდონიანი იერარქიით:

პროდუქტი
└── ვარიანტი (მაგ., "iOS Production", "Android Beta")
└── რელიზი (ვერსიონირებული აშენება არტეფაქტით)
  • პროდუქტი — ლოგიკური აპლიკაცია (მაგ., “MyApp”)
  • ვარიანტი — კონკრეტული აშენების კონფიგურაცია ან პლატფორმის სამიზნე პროდუქტში
  • რელიზი — ერთი ვერსიონირებული აშენება, ატვირთული ვარიანტზე, რომელიც შეიცავს ბინარულ არტეფაქტს, ვერსიის სტრიქონს, აშენების ნომერს და ცვლილებების ჟურნალს

ძირითადი ფუნქციები

Section titled “ძირითადი ფუნქციები”

CI/CD პაიპლაინები ატვირთავენ აშენებებს მარტივი POST /upload ბოლო წერტილით ტოკენის ავტორიზაციით. იხილეთ ატვირთვის API სრული დეტალებისთვის.

ჩამოტვირთვის გვერდები

Section titled “ჩამოტვირთვის გვერდები”

ყოველი რელიზი იღებს გასაზიარებელ ჩამოტვირთვის გვერდს:

  • პლატფორმისთვის შესაფერისი ჩამოტვირთვის ღილაკები
  • QR კოდი მობილური სკანირებისთვის
  • ვერსიის ინფორმაცია და ცვლილებების ჟურნალი
  • ავტომატური პლატფორმის ამოცნობა (ვიზიტორს სთავაზობს შესაფერის ვარიანტს)

iOS IPA ფაილებისთვის, Fenfa გენერირებს საჭირო manifest.plist-ს და ემსახურება მას HTTPS-ით, რაც უზრუნველყოფს პირდაპირ over-the-air ინსტალაციას App Store-ის გარეშე. ამისთვის საჭიროა:

  • ვალიდური HTTPS ბოლო წერტილი (Fenfa ამუშავებს ამას)
  • მოწყობილობის UDID ჩარიცხული უნდა იყოს პროვიჟენინგ პროფილში

Fenfa უზრუნველყოფს UDID ჩარიცხვის ნაკადს: მომხმარებლები სტუმრობენ გვერდს iOS მოწყობილობიდან, აინსტალირებენ მსუბუქ კონფიგურაციის პროფილს და Fenfa ჩაიწერს მოწყობილობის UDID-ს. ეს UDID შემდეგ შეიძლება დაემატოს თქვენს Apple Developer ანგარიშს ad-hoc დისტრიბუციისთვის.

ნაგულისხმევად, Fenfa ინახავს არტეფაქტებს ლოკალურ ფაილურ სისტემაში. პროდაქშენის გაშლებისთვის, კონფიგურირეთ S3-თავსებადი ბექენდი (AWS S3, Cloudflare R2, MinIO) გამძლე, მასშტაბირებადი შენახვისთვის.

Terminal window
# Docker-ით გაშვება
docker run -d \
-p 8080:8080 \
-v fenfa-data:/data \
openprx/fenfa:latest
# ან წყაროდან აშენება
git clone https://github.com/openprx/fenfa
cd fenfa && go build -o fenfa ./cmd/fenfa
./fenfa serve

ადმინის დაფა ხელმისაწვდომია http://localhost:8080/admin-ზე გაშვების შემდეგ. პირველი დარეგისტრირებული მომხმარებელი ხდება ადმინისტრატორი.

ინტეგრაცია პაიპლაინთან

Section titled “ინტეგრაცია პაიპლაინთან”

OpenPRX პაიპლაინში Fenfa დგას Build-სა და Protect-ს შორის:

  1. ხელოვნური ინტელექტის აგენტი ასრულებს კოდის ცვლილებებს და ტვირთავს რეპოზიტორიაში
  2. CI/CD აშენებს არტეფაქტს (IPA, APK, DMG და ა.შ.)
  3. CI ატვირთავს არტეფაქტს Fenfa-ში ატვირთვის API-ის საშუალებით
  4. Fenfa გენერირებს ჩამოტვირთვის გვერდებს და აცნობებს დაინტერესებულ მხარეებს
  5. მომხმარებლები ჩამოტვირთავენ და აინსტალირებენ აპლიკაციას
  6. PRX-WAF და PRX-SD იცავენ გაშვებულ აპლიკაციას