دېتال ئېچىشتا نەشىر باشقۇرۇش ھەققىدە يەكۈنلىرىم

Views: 534 5 باھا /

ئىلگىرى يۇمشاق دېتال ئېچىش جەھەتتىكى نەشىر باشقۇرۇش ھەققىدە كۆپ پاراڭلارنى ئاڭلىغان بولساممۇ، كۆپ ئادەم ھەمكارلىقىدىكى تۈرلەرگە قاتنىشىپ باقمىغانلىقىم ئۈچۈن، بۇ پاراڭلارنى مەن بىلەن مۇناسىۋەتسىزدەك ئويلىغانىكەنمەن. كېيىن پاراكتىكا جەريانىدا تۈرلەرگە قاتنىشىش پۇرسىتى بولدى، ھەمدە مەنمۇ تۇنجى قېتىم GitHub ئىشلىتىشنى ئۆگېنىشكە مەجبۇر بولدۇم. چۈنكى شىركەتلەردە بىر تۈرنى نۇرغۇن ئادەم تەڭ ئىشلەيدىكەن، ھەممىسى ئۆزى مەسئۇل قىسمىنى تاماملاپ، نەشىر باشقۇرۇش سېستىمىسىغا تۈجۈپلەپ ماڭىدىكەن. نەتىجىدە بىر تۈر(يەنى ئەپ)نىڭ پۈتۈپ چىقىش جەريانى يىپىدىن - يىڭنىسىغىچە خاتىرلىنىپ ماڭىدىكەن. زۆرۈر بولسا تارىختىكى ھەرقانداق بىر نۇسخىغا قايتقىلى بولىدىكەن.

شۇتاپ قىززىق بىر ھىكايە ئىسىمگە كېلىۋالدى. مەن پاراكتىكانت ھالىتىدە تۇنجى تۈرگە قاتناشقاندا، تۈر مەسئۇلى ماڭا بىرقانچە كىچىك ئىقتىدار بۆلىكىنى ئايرىپ بېرىپ، ھېچكىمنىڭ كارى بولمىدى. نەتىجىدە ئۇيان ئۆزگەرتىپ، بۇيان ئۆزگەرتىپ، كۆچۈرۈپ چاپلاپ، ئۆچۈرۈپ تاشلاپ يۈرۈپ، مىڭ بالادا ئۇ ئىقتىدارنى تاماملاپتىمەن. GitHub نى تۇنجى ئىشلىتىشىم بولغاچقا، تازا چۈشىنىپ كەتمەي، ھەربىر كود ئۆزگەرتسەم بىر يېڭىلاپ مىڭىۋىرىپتىمەن. كەچ بولغاندا GitHub يىڭىلاش خاتىرىسىگە قارىساق پۈتۈن تۈر مېنىڭ خاتىرەم بىلەن توشۇپ كېتىپتۇ. باشلىق كارامىتىمگە تازا ھەيران قىلىپ، خاتىرە تەپسىلاتىغا شۇنداق بىر قارىماسمۇ؟ ئۆچۈرگەن، كۆچۈرگەن،قايتۇرغان، يۆتكىگەن... كاساپەت ھەممىنى خاتىرلەپ ماڭاتتىكەن. دېمەك، ئاخىرىدا يازغېنىم نەچچە قۇر كود، يېڭىلاش خاتىرەم تۈرنى بىر ئالغان، خىجىللىقتىن تازا قىزارغان ئىدىم.
VJVR7v

تۆۋەندە مەن قىسقىغىنە خىزمەت جەريانىمدا ھىس قىلغانلىرىم بويىچە، يۇمشاق دېتال ئېچىش جەريانىدىكى نەشىر باشقۇرۇش جەريانى، ۋە قۇرۇلمىسى ھەققىدە توختىلىپ ئۆتىمەن.

دائىملىق نەشىر باشقۇرۇش قوراللىرى

  • GitHub

ئوچۇق مەنبەلىك سېستىمىلارنى ئېچىشتا ئەڭ ياخشى تاللاش(ئەلۋەتتە ھەقلىق مۇلازىمىتىنى سېتىۋىلىپ، يىپىق ھالەتتە، مەلۇم شىركەت ياكى ئورۇن شەخسىي ئىشلىتىشكىمۇ بولىدۇ).

  • Svn

بىر قەدەر سەزگۈر ياكى بىخەتەرلىكى ئالاھىدىرەك بولغان تۈرلەرنى ئېچىشتا، ياكى شىركەت ئىچكىي قىسىمدا خاس ئىشلىتىشكە بەكرەك ماس كېلىدۇ.

ئەسكە:

نەشىر باشقۇرۇش دېتاللىرىنى ئىشلىتىش جەھەتتە بۇ يەردە تەپسىلىي توختالمايمىز، قىزىققۇچىلار بىلوگىمىزدىكى مۇناسىۋەتلىك يازمېلارنى كۆرۈپ باقىدۇ!
5 مېنۇتتا Github ئىشلىتىشنى ئۆگىنىسىز
دائىم ئىشلىتىلىدىغان Git كوماندىلىرى

نەشىر باشقۇرۇش جەريانى

بىر دېتال(ئەپ) نىڭ پۈتۈپ چىقىش جەريانىنى نەشىر باشقۇرۇش نوقتىسىدىن تەرتىپلىگەندە تۆۋەندىكىدەك بولىدۇ:
1. تۈرنى قوزغېتىش(قۇرۇش)
2. دېتالنى ئېچىش(كود يېزىپ، ئىقتىدارلىنى ئەمەلگە ئاشۇرۇش)
3. بىرىنچى ئىچكى سىناق نۇسخا
4. N - ئىچكى سىناق نۇسخا
5. بىرىنچى ئىشلەتكۈچىلەر سىناق نۇسخىسى
6. N - ئىشلەتكۈچىلەر سىناق نۇسخىسى
7. بىرىنچى رەسمىي نۇسخا
8. bug لىرى تۈزۈتىلگەن تولۇقلىما نۇسخا
9. يېڭى ئىقتىدارلىرىنى ئېچىش
بۇنىڭ ئىچىدە، 3~7 باسقۇچغىچە نۇرغۇن قېتىم تەكرارلىنىشى ياكى بىرلا قېتىمدا تاماملىنىشى مۇمكىن، بۇ ئادەتتە شىركەتنىڭ ئەھۋالىغا قاراپ پەرقلىق بولىدۇ.
تۆۋەندە Svn نى مىسال ئېلىپ، يۇقارقى قەدەم باسقۇچلارنى ئەمەلىي نەشىر قۇرۇلمىسى بويىچە تونۇشتۇرۇپ چىقىمەن.

نەشىرباشقۇرۇش جەريانى& قۇرۇلمىسى

تەييارلىق باسقۇچى

مىسال تۈر نامى: Puldidar
تۈر ئابونىت قىسمى: Android,IOS,Server

1. تۈرنى قوزغېتىش

تۈرنى يېڭى قۇرغاندا، Svn مۇندەرىجە ھالىتى تۆۋەندىكىدەك بولىشى كېرەك:

|-Puldidar
    |-trunk
        |-Android
        |-IOS
        |-Server
    |-branches
    |-tag

2. دېتالنى ئېچىش

دېتالنىڭ ھەرقايسى ئابونىت قىسمىنى، مەسئۇل پىروگراممىرلار يۇقىرىقى Trunkئىچىدىكى ئۆزىنىڭ مۇندەرىجىسىدە ئېچىپ، ئىقتىدارلىرى مۇقىم بولغان، بىرىنچى ئىچكىي سىناق نۇسخىسىنى تاماملايدۇ.

3. ئىچكى سىناق

بىرىنچى ئىچكىي سىناق نۇسخىسى ئىلان قىلىنغاندىن كېيىن، يۇقىرىقى مۇندەرىجىنىڭ tag شاخچىسىگە ھەرقايسى ئابونىت قىسمىنىڭ نۆۋەتتىكى نۇسخىسى خەتكۈشلىرى بىلەن ئورۇنلاشتۇرىلىدۇ. قۇرۇلمىسى تۆۋەندىكىدەك:

|-Puldidar
    |-trunk
        |-Android
        |-IOS
        |-Server
    |-branches
    |-tag
        |-Android
            |-inner_test_1.0.0
        |-IOS
            |-inner_test_1.0.0
        |-Server
            |-inner_test_1.0.0

مەيلى قايسى ئ‍ابونىت قىسمىدىن سىناق نۇسخا ئىلان قىلغان بولسۇن، يۇقىرىقىدەك tag شاخچىسىگە مۇناسىۋەتلىك tag (خەتكۈش) قوشۇشى كېرەك.

4. ئىشلەتكۈچىلەر سىناق نۇسخىسى

ئىچكىي سىناق تاماملانغاندىن كېيىن داۋاملىق تۈردە Trunk مۇندەرىجىسىدە ئېچىش خىزمەتلىرى ئېلىپ بېرىلىدۇ. تاكى ئىچكىي سىناقتىن ئىشلەتكۈچىلەر سىناق نۇسخىسىغا ئۆتكۈچە، tag ئىچىگە ھەربىر ئىچكى سىناق نۇسخىسىنىڭ tag لىرى ساقلىنىدۇ. ئىشلەتكۈچىلەر سىناق نۇسخىسىمۇ ئىچكى سىناق نۇسخىسىغا ئوخشاش tag ئىچىگە خاتىرلىنىپ ماڭىدۇ. بۇ ۋاقىتتا ھۆججەت قۇرۇلمىسى تۆۋەندىكىدەك:

|-Puldidar
    |-trunk
        |-Android
        |-IOS
        |-Server
    |-branches
    |-tag
        |-Android
            |-inner_test_1.0.0
            |-inner_test_1.0.1
            |-inner_test_1.0.2
            |-public_test_1.0.3
            |-public_test_1.0.4
        |-IOS
            |-inner_test_1.0.0
        |-Server
            |-inner_test_1.0.0

5. رەسمىي نۇسخا

رەسمىي نۇسخا ئىلان قىلىنغاندىن كېيىن:
1. tag شاخچىسىگە مۇناسىۋەتلىك tag خاتىرىسى قوشىمىز
2. branches شاخچىسىگە نۆۋەتتىكى نەشىر نۇسخىسىنى قوشىمىز.
بۇ ۋاقىتتا ھۆججەت قۇرۇلمىسى تۆۋەندىكىدەك بولىدۇ:

|-Puldidar
    |-trunk
        |-Android
        |-IOS
        |-Server
    |-branches
        |-Android
            |-BaseDev
    |-tag
        |-Android
            |-inner_test_1.0.0
            |-inner_test_1.0.1
            |-inner_test_1.0.2
            |-public_test_1.0.3
            |-public_test_1.0.4
            |-release_1.0.5
        |-IOS
            |-inner_test_1.0.0
        |-Server
            |-inner_test_1.0.0

BaseDev شاخچىسىنىڭ ئەھمىيىتى شۇكى: نۆۋەتتىكى نەشىر ئاساسىدا كۆرۈلگەن خاتالىقلارنى تۈزۈتۈش، ياكى ئۆزگەرتىش خىزمەتلىرىنى ئېلىپ بېرىپ، قىسقا مۇددەت ئىچىدە دەۋرىيلەشكە (迭代)، غول شاخچە (Trunk) دا نۆۋەتتىكى ئىشلەتكۈچىلەر نەشىرىگە تەسرى قىلماستىن ئۇزاق مۇددەتلىك دەۋرىيلەشكە(يېڭى ئىقتىدارلارنى ئېچىشىقا) بولىدۇ.

دەۋرىيلەش(ئېنتىراتسىيە)

ئادەتتە قىسقا (مۇددەتلىك) دەۋرىيلەش(快速迭代) ۋە ئۇزاق (مۇددەتلىك) دەۋرىيلەش(长周期迭代) دەپ ئىككىگە خىلغا بۆلىنىدۇ.
قىسقا دەۋرىيلەش ئۆز ئىچىكە ئېلىشى مۇمكىن خىزمەتلەر:
1. ئالدىنقى نەشىرىگە قارىتا bug تۈزۈتۈش.
2. نۆۋەتتە بار بولغان ئىقتىدارلارنى تېخىمۇ ئىنچىكە ئەلالاشتۇرۇش.
3. تىزدىن تاماملاشقا بولىدىغان ئىقتىدارلارنى قوشۇش.
ئۇزاق دەۋرىيلەش ئۆز ئىچىكە ئېلىشى مۇمكىن خىزمەتلەر:
1. مەلۇم ئىقتىدارنى قىسقا دەۋرىيلەپ تاماملاشقا بولمىغاندا، غول شاخچىدە داۋاملىق كەڭ كۆلەملىك ئېچىش؛
قىسقا دەۋرىيلەش جەريانىدا، BaseDev شاخچىسىدە مەشغۇلات قىلىنىدۇ، دەۋرىيلەش تاماملانغاندىن كېيىن غول شاخچە (Trunk) گە يېڭىلىنىدۇ.
قانداق ئەھۋالدا يېڭى شاخچە قۇرۇشقا توغرا كېلىدۇ؟
1. ئېچىۋاتقان يېڭى ئىقتىدارنى كېيىنكى نەشىردە ئېلان قىلىش قىلماسلىق تېخى ئىنىق بولمىغان ئەھۋالدا.
2. يېڭى ئىقتىدار قوشۇش دەۋرىيلىكى بەك ئۇزن بولۇپ كېتىپ، يېڭى قوشۇلغان بارلىق ئىقتىدارلارنى بىرلا نەشىردە يېڭىلا، ئىشلەتكۈچى تەسىراتىغا سەلبى ئۈنۈم بېرىش ئىھتىماللىقى بولغاندا. بۇۋاقىتتا كىچىك ئىقتىدارلار بويىچە شاخچىگە بۆلۈپ، قوشۇلغان ئىقتىدارلارنى ئىشلەتكۈچىلەر ئىنكاسىغا قاراپ، ئاز - ئازدىن قويۇپ بېرىشكە بولىدۇ.
مەسىلەن، Puldidar ناملىق بۇ تۈرىمىزگە يېڭىدىن چەمبىرەك (Space) ئىقتىدارى قوشماقچى بولدۇق. بۇ ئىقتىدارنى بەلكىم قىسقا دەۋرىيلەش جەريانىدا تاماملاپ ئۈلگۈرمەسلىكىمىز مۇمكىن. بۇ ۋاقىتتا branches ئاستىغا يېڭى شاخچە قۇرىشىمىزغا توغرا كېلىدۇ. قۇرۇلمىسى تۆۋەندىكىدەك:

|-Puldidar
    |-trunk
        |-Android
        |-IOS
        |-Server
    |-branches
        |-Android
            |-BaseDev
            |-Space
    |-tag
        |-Android
            |-inner_test_1.0.0
            |-inner_test_1.0.1
            |-inner_test_1.0.2
            |-public_test_1.0.3
            |-public_test_1.0.4
            |-release_1.0.5
        |-IOS
            |-inner_test_1.0.0
        |-Server
            |-inner_test_1.0.0


خولاسە ئورنىدا

دېققەت قىلىدىغان نوقتىلار:
1.

ئامالنىڭ بارىچە كۆپ شاخچە قۇرماسلىق لازىم، بولمىسا شاخچىلارنى تۈجۈپلەشكە ئارتۇق كۈچ كېتىپ قالىدۇ

2. ئامال بار يېڭى ئىقتىدارلارنى پارچىلاپ، قىسقا دەۋرىيلەش جەريانىدا تاماملاش كېرەك.
3. ھەرقېتىم كود يېڭىلىغاندا چوقۇم قىسقىچە ئۆزگەرتىلمە چۈشەندۈرۈشىنى قوشۇپ يېڭىلاش كېرەك.

5 باھا »

  1. ئۇيغۇربەگ
    ئۇيغۇربەگ January 10th, 2016 at 12:41 am
    جاۋاب

    ئىنتايىن تەپسىلىي يېزىپسىز، بىراۋو...

  2. ياسىن نىياز
    ياسىن نىياز February 14th, 2016 at 01:38 am
    جاۋاب

    بىلوگىڭىزغا نېمە بولدى ، نەچچە ۋاقىتتىن بىرى ئاچالمىغان ، ھازىر ئېچىلدى.

  3. ئۇيغۇربەگ
    ئۇيغۇربەگ April 6th, 2016 at 09:41 pm
    جاۋاب

    SVNگە Githubدەك مۇلازىمەت بېكەتلىرىدىن قايسىسى بار؟

    1. تەشنا
      تەشنا April 7th, 2016 at 06:32 pm
      جاۋاب

      بەيدۇ بۇلۇت مۇلازىمىتى، سىنا بۇلۇت مۇلازىمىتى، 七牛 بۇلۇت سۇپىسى دېگەندەك خالىغان بىر بوشلۇققا svn قۇرۇپ ئىشلەتسىڭىزلا بوتۇ. ھەتتا ئۆزىڭىزنىڭ بوشلۇقىمۇ شۇنداق...

    2. ھاجى
      ھاجى May 31st, 2016 at 07:47 pm
      جاۋاب

      https://coding.net/، https://git.oschina.net/