Mobiilibuildid
Ehita, arhiveeri ja laadi üles iOS-i simulaatori rakendus või Androidi APK, et Autonomy saaks selle vastu mobiiliteekondi käivitada.
Autonomy mobiilikäivitused vajavad sinu rakenduse build'i. Laadi see build üks kord üles ja taaskasuta seda käsitsi käivitustes, pull request'i käivitustes ja ajastatud käivitustes kuni järgmise versiooni väljaandmiseni.
Mida üles laadida
| Variable | Required | Description |
|---|---|---|
| iOS .app (.zip, .tgz, .tar.gz) | No | Simulaatorile suunatud .app pakett, arhiveeritud nii, et app on arhiivi juures. Aktsepteeritud töölaual ja artefakti API-s. |
| Android .apk | No | Standardne Androidi pakett. Aktsepteeritud töölaual ja artefakti API-s. |
| Android .aab | No | Android App Bundle. Aktsepteeritud töölaual ja artefakti API-s. |
iOS-i puhul vajab Autonomy simulaatori build'i, sest käivitused toimuvad pilvesimulaatorites. iphoneos jaoks ehitatud allkirjastatud .ipa lükatakse runneri poolt tagasi. Androidi puhul aktsepteeritakse nii .apk kui ka .aab; käivitused paigaldavad artefakti pilveemulaatorisse ja käivitavad selle paketinime järgi.
Ehita iOS-i simulaatori jaoks
Standardse Xcode'i projekti puhul ehita käsuga xcodebuild:
xcodebuild -workspace ios/MyApp.xcworkspace \
-scheme MyApp \
-configuration Release \
-sdk iphonesimulator \
-destination 'generic/platform=iOS Simulator' \
-derivedDataPath ios/build \
buildPakett satub asukohta ios/build/Build/Products/Release-iphonesimulator/MyApp.app. Expo või React Native projektide puhul käivita kõigepealt npx expo prebuild --platform ios ja seejärel sama xcodebuild käsk genereeritud workspace'i vastu.
Töölaua ja otse-API üleslaadimiste puhul arhiveeri pakett enne saatmist. Hoia .app pakett arhiivi juurkaustas, et Autonomy saaks selle ilma arvamata lahti pakkida.
cd ios/build/Build/Products/Release-iphonesimulator
zip -r MyApp.app.zip MyApp.appEhita Androidi jaoks
Standardse Androidi projekti puhul ehita projekti juurkaustast debug-APK. Debug-APK-d paigalduvad emulaatoritesse ilma allkirjastamiseta.
./gradlew assembleDebugAPK satub asukohta android/app/build/outputs/apk/debug/app-debug.apk. Expo või React Native projektide puhul käivita kõigepealt npx expo prebuild --platform android ja seejärel sama Gradle'i käsk genereeritud projekti vastu.
App Bundle build'ide puhul kasuta ./gradlew bundleDebug ja võta .aab asukohast android/app/build/outputs/bundle/debug/. Mõlemad vormingud toimivad.
Laadi üles töölaualt
- Ava projekt ja lülitu vahekaardile Mobile.
- Klõpsa Sirvi faile ja vali
.app.zip/.app.tar.gz(iOS) või.apk/.aab(Android). - Oota, kuni build'i töötlemine lõpeb.
- Ava test ja vali üleslaaditud build jaotises Rakenduse üleslaadimine.
- Androidi testide puhul kinnita, et paketinimi vastab APK-le. Autonomy loeb selle manifestist, kuid sa võid selle testil tühistada.
- Käivita test üks kord käsitsi, et kinnitada, et build käivitub ja teekond jõuab esimese kontrollpunktini.
Laadi üles artefakti API-ga
CI või agentide puhul kasuta /api/artifacts/upload-url, et saada üleslaadimise URL, saada fail sellele URL-ile, kutsu /api/artifacts/scan tagastatud storageId väärtusega ja edasta seejärel sama storageId endpointile /api/trigger.
Endpointide skeemi ja vastuste jaoks vaata API viites lehte Artefaktid.
Androidi puhul edasta platforms: ["android"], targets.android.storageId ja targets.android.packageName. iOS-i puhul edasta platforms: ["ios"], targets.ios.storageId ja targets.ios.bundleId. Kui CI annab juba ajutise HTTPS artefakti URL-i, võid üleslaadimise vahele jätta ja kasutada artifactUrl koos väärtusega sourceMode: "url".
Piirangud
- iOS töötab ainult pilvesimulaatorites. Kaamera, biomeetrilised viibad (Face ID, Touch ID) ja iga voog, mis nõuab allkirjastatud seadme build'i, ei tööta.
- Android töötab pilveemulaatorites. Ainult riistvaralisi funktsioone (NFC, sõrmejälg, päris kaamera) ei simuleerita.
Tõrkeotsing
iOS-i üleslaadimine lükatakse tagasi kui seadme build
Kinnita, et build toodeti -sdk iphonesimulator ja simulaatori sihtkohaga. iphoneos jaoks toodetud pakett on seadme build ja Autonomy lükkab selle üleslaadimisel tagasi.
Androidi üleslaadimine lükatakse tagasi kui vale vorming
Autonomy aktsepteerib ainult .apk ja .aab. Kõik muu lükatakse üleslaadimise hetkel tagasi.
Test ei leia üleslaaditud build'i
Build laaditi üles, kuid seda ei lisatud kunagi testile. Ava test ja vali üleslaaditud build jaotises Rakenduse üleslaadimine, enne kui seda käivitad.
CI täidab üleslaadimised
Kasuta taaskasutatavate build'ide jaoks salvestatud keskkondi ja ühekordsete CI artefaktide jaoks eksplitsiitseid targeteid. Jäta töölaua üleslaadimised build'ide jaoks, mille väljalaskehaldur valib tootmiskäivituste jaoks.