Araw ng release sa pag-develop ng app: esensya, mga yugto at paghahanda

May-akda: IT Sectr Nai-publish: 2026-08-07 Oras ng pagbabasa: 8 min

Araw ng release (release day) — nakaplanong petsa ng paglabas ng bagong bersyon ng mobile app, kabilang ang paghahanda ng build, review ng store, staged rollout at pag-monitor. Para sa iOS apps, ang proseso ay nagsisimula sa pag-upload ng build sa App Store Connect 24-48 oras bago ang nakaplanong petsa ng release dahil sa mandatoryong review ng Apple. Para sa Android — pagbuo at pag-upload sa Google Play Console, kung saan ang proseso ng review ay karaniwang tumatagal ng 1-4 na oras. Ayon sa Apple Developer Guidelines (2025), 90% ng mga build ay nakakapasa sa review sa loob ng 24 na oras. Staged rollout ay nagpapahintulot na mabawasan ang epekto kapag may natuklasang error pagkatapos ng pag-publish.

Mga pangunahing punto

  • Release day — kumplikadong mga hakbang mula sa pagbuo ng build hanggang sa pag-monitor pagkatapos ng rollout
  • Staged rollout — unti-unting pag-rollout: 1%, 10%, 50%, 100%
  • Smoke testing — huling pagsusuri ng build bago ipadala sa store
  • Rollback plan — inihandang senaryo ng pagbabalik para sa mga kritikal na error
  • Release retrospective — pagsusuri ng proseso pagkatapos makumpleto ang rollout sa 100%

Ano ang araw ng release at paano maghanda

Araw ng release — hindi lamang sandali ng pagpindot sa Publish button. Ito ay isang koordinadong proseso kung saan nakikilahok ang mga developer, QA, devops, product manager at minsan support. Ang paghahanda ay nagsisimula 2-3 linggo bago ang araw ng release: pag-aayos ng scope, code freeze, regression testing, paghahanda ng release notes at marketing materials. Kung gaano kahusay ang paghahanda, ganoon din katiwasay ang araw ng release mismo.

Ang checklist ng paghahanda para sa araw ng release ay kinabibilangan ng: huling QA run (regression + smoke suite) sa release build; pagsusuri ng metadata sa mga store (pangalan, paglalarawan, screenshot, keywords); pag-aayos ng porsyento ng staged rollout sa product manager; paghahanda ng rollback plan (aling tag ang i-redeploy, gaano katagal); pag-notify sa team at mga kaugnay na serbisyo tungkol sa paparating na release. Release checklist ay dapat awtomatiko sa pamamagitan ng CI/CD — halimbawa, bilang GitHub Actions workflow na sumusuri sa lahat ng puntos bago gumawa ng release tag.

Isang mahalagang elemento ng paghahanda — blackout period (panahon kung kailan bawal ang deploy sa produksyon). Karaniwan ang blackout ay ipinapatupad 48 oras bago ang araw ng release at inaalis 24 oras pagkatapos ng matagumpay na rollout sa 100%. Pinipigilan nito ang aksidenteng deploy na maaaring makagambala sa release. Change freeze sa panahon ng blackout ay nalalapat sa lahat ng serbisyo na may kaugnayan sa release.

Paghahanda ng build: code freeze, pag-tag at pagbuo

24-48 oras bago ang araw ng release, ipinapatupad ang code freeze — kumpletong paghinto ng mga pagbabago sa code. Ang mga developer ay lumilipat sa paghahanda ng dokumentasyon at release notes. Binubuo ng DevOps ang release build mula sa isang nakapirming tag (hal. v2.6.0-rc1). Ang build ay dumadaan sa kumpletong regression suite (awtomatiko + manu-manong pagsusuri). Kung may natagpuang critical bugs — inaayos ang mga ito bago ang code freeze o ang release ay ipinagpapaliban. Release candidate (RC) — build na nakapasa sa QA at handa nang ipadala sa store.

Pag-tag sa Git: isang annotated tag ay ginawa (git tag -a v2.6.0 -m "Release v2.6.0"). Ang CI/CD pipeline ay bumubuo ng AAB (Android App Bundle) para sa Google Play at IPA (iOS App Store Package) para sa Apple App Store. Sa build ay ikinakabit: file na may checksums (SHA256), changelog at listahan ng mga kilalang isyu (known issues). Reproducible builds — mainam na kasanayan kung saan ang muling pagbuo mula sa parehong tag ay nagbibigay ng binary na magkaparehong resulta.

bash
# Release pipeline — paggawa ng tag at pagbuo
# Ipinapalagay na ang code freeze ay aktibo na

# Gumawa ng release branch mula sa develop
git checkout develop
git pull origin develop
git checkout -b release/v2.6.0
git push origin release/v2.6.0

# Code freeze: pinipigilan ng mga patakaran sa proteksyon ng branch ang mga bagong PR
# Patakbuhin ang regression suite sa CI/CD
./gradlew clean testReleaseUnitTest connectedReleaseTest

# Gumawa ng release tag pagkatapos ng matagumpay na QA
git tag -a v2.6.0 -m "Release v2.6.0: payment module, dark mode"
git push origin v2.6.0

# Buuin ang release binary sa pamamagitan ng CI/CD
# Ang fastlane build_release ay gumagawa ng AAB + universal APK
fastlane build_release

Mahalaga: version bump (pag-update ng version code at version name) ay ginagawa bago ang code freeze. Pagkatapos ng code freeze, hindi nagbabago ang bersyon. Para sa Android: versionCode — monotonong tumataas na integer; versionName — semantikong bersyon (2.6.0). Para sa iOS: CFBundleVersion (build number) at CFBundleShortVersionString (semantikong bersyon). Versioning ay dapat awtomatiko sa gradle/xcconfig.

Pag-upload sa store at pagpasa sa review

Para sa iOS: ang build ay ina-upload sa pamamagitan ng Xcode, Transporter o fastlane sa App Store Connect. Pagkatapos ng pag-upload, ang build ay dumadaan sa awtomatikong pagsusuri ng Apple (processing), pagkatapos ay ipinapadala sa manu-manong review. Karaniwang oras ng review — 24 na oras, ngunit maaaring mag-iba mula 1 oras hanggang 7 araw depende sa load ng mga Apple reviewer at mga kinakailangan sa compliance. Expedited review — kahilingan para sa pinabilis na review para sa kritikal na pag-aayos ng bug (magagamit nang hindi hihigit sa isang beses sa isang buwan, hindi garantisado).

Para sa Android: ang build ay ina-upload sa pamamagitan ng Google Play Console. Gumagamit ang Google ng pinagsamang diskarte: awtomatikong pagsusuri (accessibility, malware, policy compliance) + pumipiling manu-manong review. Karaniwang oras ng review — 1-4 na oras. Internal test track at Closed track ay nagpapahintulot ng huling pagsusuri bago i-publish sa Production track. Inirerekomenda: 1-2 araw para sa Internal test → 1 araw para sa Closed beta → unti-unting Production rollout.

Para sa parehong platform, ang pagsusuri ng metadata bago i-upload ang build ay kritikal: pangalan ng app, paglalarawan (short + full), mga screenshot para sa bawat supported device (iPhone 6.5", 5.5", iPad, Android phone, tablet), keywords (iOS) o store listing experiments (Android). Ang error sa metadata ay maaaring makapagpaantala ng review ng karagdagang araw. App metadata ay dapat i-localize sa lahat ng suportadong wika.

Staged rollout: paano mag-rollout ng release nang walang panganib

Staged rollout (gradual rollout, staged deployment) — estratehiya kung saan ang bagong bersyon ay nagiging available sa mga user hindi kaagad, kundi unti-unti. Karaniwang iskema para sa mature na team: 1% ng mga user (unang 2-4 na oras) → 10% (24 na oras) → 25% (24 na oras) → 50% (24 na oras) → 100%. Bawat yugto ay may kasamang pag-monitor ng metrics at pagsusuri ng kawalan ng mga kritikal na error. Staged rollout — pangunahing kasangkapan para mabawasan ang panganib sa mga release.

Ang Google Play Console ay nagbibigay ng built-in na staged rollout: maaaring tukuyin ang porsyento ng mga user at magplano ng unti-unting pagtaas. Para sa iOS App Store Connect walang ganoong built-in na kakayahan — ang staged rollout ay ipinapatupad sa pamamagitan ng Phased Release (awtomatikong pagtaas ng coverage sa loob ng 7 araw na may kakayahang i-pause) o sa pamamagitan ng server-side feature flags na may geo-distribution. Phased release sa App Store Connect ay nagbibigay ng kakayahang I-pause ang Release (Pause Release) kung may matuklasang problema.

Mga pangunahing metrics para sa paglipat sa susunod na yugto: crash-free rate (≥99.9% para sa bagong release), ANR rate (Android, ≤0.1%), error rate sa backend API (≤0.5% 5xx), rating ng user (hindi mas mababa sa nakaraang bersyon), apdex score (≥0.94). Kung anumang metric ay lumampas sa hangganan — ang rollout ay ipinapahinto hanggang malaman ang mga dahilan. Go/no-go gate sa bawat yugto — responsibilidad ng release manager o on-call engineer.

Pag-monitor pagkatapos ng release: ano ang titingnan sa mga unang oras

Ang unang 4 na oras pagkatapos ng release — pinakamahalagang oras. Minomonitor ng team ang crash rate (Sentry, Firebase Crashlytics, App Center), error rate 5xx sa backend, custom events (matagumpay na pagbabayad, pag-login, pagparehistro), rating ng user sa App Store at Google Play, mga nababanggit sa social media (Twitter, Reddit). Ang dashboard ng pag-monitor ay dapat ihanda nang maaga at available sa malaking screen sa opisina o sa dedikadong Slack channel. Release dashboard — iisang window para sa lahat ng metrics ng release.

Espesyal na atensyon — regression metrics: paghahambing ng crash rate sa nakaraang bersyon para sa parehong panahon. Kung ang crash rate ay tumaas ng higit sa 0.1% — ito ay pulang bandila na nangangailangan ng agarang pagsusuri. Mahalaga rin na ihambing ang median at p95 latency ng mga pangunahing API endpoint: kahit walang crash, ang pagbagal ng oras ng pagtugon ng 200ms ay maaaring magpahiwatig ng problema. Metric comparison (baseline vs current) ay awtomatiko sa Datadog o Grafana.

Feedback ng user — hindi gaanong mahalaga kaysa sa numerikal na metrics. Sa mga unang oras pagkatapos ng release, ang mga user ay aktibong nag-iiwan ng mga review sa mga store at sumusulat sa support. Ang mga bug na hindi nahuli ng mga pagsusuri ay mabilis na lumalabas sa mga review. Ang team lead o itinalagang QA engineer ay minomonitor ang mga review bawat 30 minuto sa unang 4 na oras at inuuri ang mga ito: false positive, known issue (nasa listahan na ng known issues), new bug. New bugs P0/P1 — trigger para ihinto ang rollout.

Rollback: kailan at paano bawiin ang release

Rollback — pagbabalik sa nakaraang stable na bersyon kapag may natuklasang kritikal na problema. Ang desisyon sa rollback ay ginagawa ng release manager kasama ang tech lead, kung: ang crash-free rate ng bagong release ay bumaba sa ibaba 99%, may natuklasang data leak, kritikal na functionality (pagbabayad, awtorisasyon) ay hindi gumagana para sa >5% ng mga user, o ang store (App Store Review) ay tinanggihan ang build pagkatapos ng pag-publish. Rollback trigger ay dapat tukuyin bago ang release, upang ang desisyon ay gawin batay sa mga katotohanan, hindi sa emosyon.

Para sa Android: rollback sa Google Play Console — ihinto ang staged rollout at lumipat sa nakaraang bersyon. Kung ang kasalukuyang build ay nasa 100% na ng mga user — i-publish ang nakaraang bersyon bilang bagong release. Para sa iOS: sa pamamagitan ng App Store Connect — Phased Release → Pause Release → paglabas ng bagong bersyon na may pag-aayos (hindi pinapayagan ng App Store ang pagbabalik sa nakaraang bersyon). iOS rollback ay mas kumplikado: ang developer ay kailangang bumuo ng bagong build na may revert-commit at dumaan muli sa review.

Pagkatapos ng rollback, ang team ay lumipat sa incident mode: root cause analysis, hotfix o susunod na release na may pag-aayos, post-mortem. Rollback — hindi kabiguan, kundi karaniwang pamamaraan. Ang mga team na hindi pa nakagawa ng rollback ay malamang na hindi napapansin ang problema, hindi na naglalabas ng walang-bug na release. Rollback rate — isa sa DORA metrics: ang mga high-performing team ay gumagawa ng rollback sa <10% ng mga release at nakakabangon sa loob ng <1 oras.

Mga madalas itanong

Anong araw pinakamainam na mag-release ng mobile app?

Pinakamainam na araw — Martes, Miyerkules o Huwebes. Lunes — mataas na trapiko mula sa katapusan ng linggo, Biyernes — panganib na pumasok sa katapusan ng linggo na may problematikong release. Iwasan ang Biyernes: kung matuklasan ang problema pagkatapos ng deploy, aayusin ito ng team sa katapusan ng linggo o maghihintay hanggang Lunes.

Ano ang gagawin kung tinanggihan ng App Store Review ang build?

Basahin ang dahilan ng pagtanggi sa Resolution Center, ayusin at i-upload muli ang build. Mga karaniwang dahilan: hindi gumaganang mga link, hindi napunang mga field, nilalaman nang walang subscription (kung kinakailangan), lumang mga screenshot. App Review rejection ay nagpapaantala ng release ng 24-48 oras, kaya ang unang pag-upload ng build ay dapat 3-5 araw bago ang nakaplanong petsa ng release.

Anong porsyento ng staged rollout ang optimal para sa simula?

Para sa malalaking release (major changes) — 1%. Para sa patch release — 5-10%. Ang unang yugto ay dapat sapat na maliit upang sa kaso ng error ay minimal ang epekto, ngunit sapat na malaki upang makakuha ng makabuluhang estadistikal na metrics. 1% para sa app na may 10 milyong user — 100 libong tao, sapat upang matuklasan ang mga kritikal na problema.

Kailangan bang magkaroon ng release party?

Release party (pagdiriwang ng team) — opsyonal, ngunit mabuti para sa moral. Mas mainam na gawin pagkatapos ng matagumpay na rollout sa 100%, hindi sa sandali ng pag-upload ng build. Release celebration ay maaaring pagsamahin sa release retrospective upang talakayin kung ano ang naging maayos at kung ano ang maaaring mapabuti.

Sino ang responsable para sa desisyong "release o ipagpaliban"?

Ang responsibilidad ay nasa release manager (karaniwang senior engineer o tech lead). Ang desisyon ay ginawa batay sa datos mula sa release dashboard, hindi batay sa deadline. Release manager ay may kapangyarihang ipagpaliban ang release kung ang metrics ay hindi pumasa sa go/no-go gate.

Buod

  • Araw ng release — koordinadong proseso mula code freeze hanggang pag-monitor pagkatapos ng rollout
  • Paghahanda — release candidate, QA run, pagsusuri ng metadata, rollback plan
  • Staged rollout — 1% → 10% → 25% → 50% → 100% na may go/no-go gate sa bawat yugto
  • Pag-monitor — crash-free rate, ANR, error rate 5xx, rating ng user sa unang 4 na oras
  • Rollback — karaniwang pamamaraan kapag bumaba ang crash-free rate sa ibaba 99%
  • Komunikasyon — pag-notify sa team at stakeholders bago at pagkatapos ng release
  • Release retrospective — pagsusuri ng proseso pagkatapos makumpleto ang rollout sa 100%

Gagawa kami ng mobile application na turnkey

Gumagawa ang IT Sectr ng mga iOS at Android application para sa mga startup at negosyo mula noong 2017. Magpapayo kami sa iyo at magmumungkahi ng pinakamahusay na solusyon.

Pag-usapan ang proyekto

Basahin din