AXV

GitLab va Bitbucket'da jamoaviy ish jarayonlari

Platformalar, guruhlar va rollar, Merge Request, Code Review va Pipeline

10-sinfAdvanced Android4-hafta · 10-dars

Bugun nimani o'rganamiz?

Platformalar

GitHub, GitLab va Bitbucket: vazifasi va farqi

Jamoa va rollar

Group, Team, access va roles, Issue tracker, Kanban

MR va Pipeline

Merge Request, Code Review va CI/CD pipeline

01

Platformalar

Git bitta, uni joylashtiradigan "uy"lar esa bir nechta

Git markazda, platformalar atrofda

Git lokal vosita GitHub eng yirik GitLab DevOps Bitbucket Pipelines

Qismni bosing: izoh chiqadi. Hammasi Git bilan ishlaydi.

Uchta platforma: umumiy va farqli

GitHub

Eng yirik ekotizim: Pull Request, Issues, Actions, Star va Fork

GitLab

Merge Request, Issue tracker, pipeline va DevOps imkoniyatlari

Bitbucket

Repository boshqaruvi, jamoalar, Bitbucket Pipelines

Umumiy: repository, guruhlar, Issue tracker, Code Review, CI/CD.

Loyihani klonlash


git clone https://gitlab.com/guruh/maktab-jadvali.git

Klon: serverdagi loyihaning to'liq nusxasi, tarixi bilan. Platforma farqi yo'q.

Klon, keyin o'z branch


git clone https://gitlab.com/guruh/maktab-jadvali.git
cd maktab-jadvali
git checkout -b feature/lessons-screen
git remote -v

Avval klon, keyin alohida branch: asosiy kodga tegmaymiz.

02

Jamoa, rollar va vazifalar

Kim nima qila oladi va ish qanday bo'linadi

Guruh, loyiha va a'zolar

Group maktab-it-jamoasi Loyiha 1 maktab-jadvali Loyiha 2 oshxona-menyu A'zolar rollar bilan

Qismlarni bosing.

Atamalarni aylantiring

Group

bosing

Loyihalar va odamlarni bir joyda boshqarish uchun guruh.

Team

bosing

Loyiha ustida ishlaydigan jamoa a'zolari.

Role

bosing

A'zoning huquq darajasi: kim ko'radi, kim o'zgartiradi.

Access va roles

Kirish huquqi

Har bir a'zo loyihada faqat o'z vazifasiga yetarli huquq oladi.

Nega kerak?

Tasodifiy xato asosiy kodni buzmasligi uchun.

Chuqurroq: pastga

Minimal huquq tamoyili

  • Yangi a'zoga avval eng kam huquq bering
  • Asosiy branchga bevosita yozishni cheklang
  • O'zgarish faqat Merge Request orqali kirsin

GitLab'da rollar: Guest, Reporter, Developer, Maintainer, Owner (qo'shimcha ma'lumot).

Issue tracker va Kanban doskasi

To Do In Progress Done Login ekrani Profil xatosi Darslar ro'yxati README

Har bir vazifa (Issue) kartochka bo'lib ustundan ustunga ko'chadi.

Jamoada branch nomlash


feature/login
bugfix/profile-crash
hotfix/payment-error
refactor/home-screen
feature: yangi funksiyabugfix: xatohotfix: zudlik bilanrefactor: tartiblash
03

Merge Request va Pipeline

Kodni tekshirib qo'shish va jarayonni avtomatlashtirish

Bir tushuncha, ikki nom

Pull Request (PR)

Branchdagi o'zgarishni asosiy branchga qo'shish uchun rasmiy so'rov.

Merge Request (MR)

Aynan shu mazmun, faqat GitLab shunday ataydi.

Code Review: 4 qadam

1. MR ochiladi

Branch push qilinadi va Merge Request yaratiladi.

2. Sharh qoldiriladi

Jamoa a'zolari kodni satrma-satr ko'radi, fikr yozadi.

3. Tuzatiladi

Muallif sharhni inobatga olib, kodni yangilaydi.

4. Approve va merge

Tasdiqlangach, kod asosiy branchga qo'shiladi.

Pipeline: ketma-ket avtomatik bosqichlar

Commit Build Test Review Deploy Hammasi qo'lda ish qilmasdan, avtomatik bajariladi

Pipeline sozlash: .gitlab-ci.yml (namuna)


stages:
  - build
  - test
build_job:
  stage: build
  script:
    - ./gradlew assembleDebug
test_job:
  stage: test
  script:
    - ./gradlew test

O'quv namunasi: bosqichlar (stages) ketma-ket ishlaydi.

Raqamlarda bugungi dars

0
platforma
0
Kanban ustuni
0
Code Review qadami
0
pipeline bosqichi

Odatiy xatolar

Hamma to'g'ridan-to'g'ri main branchga yozadi: bitta xato butun loyihani buzadi.
Rol juda keng beriladi: tasodifiy o'zgarish xavfi ortadi.
Branch nomi "test2" kabi tushunarsiz: maqsad bilinmaydi.
Yechim: feature branch + Merge Request + review.

Mini-test

GitLab'da Pull Request qanday ataladi?

To'g'ri: Merge Request. Mazmuni PR bilan bir xil.

Amaliy topshiriq 30 daqiqa

OsonGuruh, loyiha va a'zolar sxemasini daftarda chizing va har a'zoga rol yozing.
O'rtaBranch nomlari ro'yxatini tuzing: feature, bugfix, hotfix, refactor uchun 1 tadan.
QiyinMerge Request sharhi yozing: "UI zo'r, rang sxemasini Material3 ga moslang" kabi konstruktiv 3 ta fikr.

Xulosa

Platformalar

GitHub, GitLab, Bitbucket: Git bitta, "uy"lar bir nechta.

Rollar

Har kim faqat kerakli huquqqa ega bo'lsin.

MR = PR

Kod review dan o'tib, asosiy branchga qo'shiladi.

Pipeline

Build va test avtomatik ishlaydi.

Uyga vazifa va anons

1. Jamoa sxemasi

O'z jamoangiz uchun guruh, rollar va Kanban ustunlarini rejalang.

2. Pipeline rejasi

Android loyihangiz uchun pipeline bosqichlarini yozing.

Keyingi dars: Branch, Merge va Pull Request jarayonlari.