Hotfix (hotfix) — adi buraxılış dövründən kənarda həyata keçirilən, istehsalatda kritik səhvin təcili düzəlişidir. Planlı buraxılışdan fərqli olaraq, hotfix istifadəçilərə düzəlişi mümkün olan ən qısa müddətdə çatdırmaq üçün QA və test mərhələlərinin bir hissəsini atlayır. Atlassian Git Workflow Guide-a görə, hotfix budağı son buraxılış teqindən yaradılır və tətbiq edildikdən sonra main və develop-a geri birləşdirilir. Hotfix process reqressiyanın olmadığına əmin olmaq üçün kifayət edən minimal yoxlama dəstini əhatə edir.
Əsas olanlar
Hotfix (qaynar düzəliş) — tətbiqin istehsalat versiyası üçün növbədənkənar çıxarılan, kritik problemi aradan qaldırmaq üçün nəzərdə tutulmuş yamadır. Hotfix istifadəçilərə saatlar ərzində çatdırılır, günlər yox və yalnız tətbiqin əlçatan olmadığı, məlumat itirdiyi və ya istifadəçi təhlükəsizliyini pozduğu hallar üçün nəzərdə tutulub.
Hotfix üçün tipik ssenarilər: müəyyən cihazlarda işə salınanda çökmə (son buraxılışdan sonra reqressiya), səhv avtorizasiya səbəbindən şəxsi məlumatların sızması, işləməyən ödəniş inteqrasiyası (gəlir itkisi), GDPR/CCPA tələblərinin pozulması. Bütün bu hallar hadisə təsnifatında P0 və ya P1 severity səviyyəsinə malikdir. Planlı tapşırıqlar — optimallaşdırma, refaktorinq, yeni ekran — heç vaxt hotfix vasitəsilə edilmir.
Vacib qayda: hotfix minimal dəyişiklik sayını ehtiva edir (1-2 fayl, 10-20 sətir kod). Diff nə qədər kiçik olsa, yeni səhv əlavə etmə riski də bir o qədər aşağı olar. Düzəliş üçün arxitektura dəyişikliyi və ya yeni modul əlavə edilməsi tələb olunursa — bu hotfix deyil, tam code review və QA tələb edən emergency release-dir.
_P2_1_
_P2_2_
| _TH1_ | _TH2_ | _TH3_ |
|---|---|---|
| Scope | _TR1_1_ | _TR1_2_ |
| _TR2_L_ | _TR2_1_ | _TR2_2_ |
| Code review | _TR3_1_ | _TR3_2_ |
| QA | _TR4_1_ | _TR4_2_ |
| Time to deploy | _TR5_1_ | _TR5_2_ |
| Rollback | _TR6_1_ | _TR6_2_ |
_P2_3_
_P3_1_
_P3_2_
_P3_3_
# .github/workflows/hotfix-deploy.yml
name: Hotfix Deploy Pipeline
on:
pull_request:
types: [labeled]
branches: [hotfix/*]
jobs:
hotfix-checks:
runs-on: ubuntu-latest
if: contains(github.event.label.name, 'hotfix-critical')
steps:
- uses: actions/checkout@v4
- name: Validate diff size
run: bash .github/scripts/diff-check.sh 30
- name: Build
run: ./gradlew assembleRelease
- name: Smoke test
run: ./gradlew smokeTest
- name: Deploy to staging
run: fastlane deploy_staging
- name: Approve & deploy to production
if: success()
run: fastlane deploy_production
env:
HOTFIX_MODE: true
_P3_4_
_P4_1_
_P4_2_
# Hotfix budağını son buraxılış teqindən yaradın
git checkout -b hotfix/v2.5.1 tags/v2.5.0
# Düzəlişi tətbiq edin
git commit -m "HOTFIX: Fix crash on Android 14 notification permission"
# Mainə birləşdirin və buraxılışı teqləyin
git checkout main
git merge --no-ff hotfix/v2.5.1
git tag -a v2.5.1 -m "Hotfix release v2.5.1"
# Develop-a da birləşdirin
git checkout develop
git merge --no-ff hotfix/v2.5.1
# Müvəqqəti budağı silin
git branch -d hotfix/v2.5.1
_P4_3_
_P5_1_
_P5_2_
_P5_3_
_P6_1_
_P6_2_
_FAQ_TITLE_
_FAQ1_A_
_FAQ2_A_
_FAQ3_A_
_FAQ4_A_
_FAQ5_A_
_SUMMARY_TITLE_
Açar təslim mobil tətbiq hazırlayacağıq
IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.
Həm də oxuyun