Git worktree එකක් නව පරිසරයක් ලෙස සකස් කර, එකම Docker stack එක භාවිතා කරමින්, පෝට්, දත්ත ගබඩා, කේෂේ වැනි සම්පත් වෙන් කිරීමේ ක්රමයක් දැන් සංවර්ධකයින්ට ලබා ගත හැකිය. මෙම සැකසුම් ක්රියාවලිය bin/setup නමින් රූපවාහිනියක් ලෙස ක්රියා කරයි; එය පළමුව පරිසරය සකස් කර, පසුදා සාමාන්ය සංවර්ධන විධානය (bin/dev) ක්රියාත්මක කරයි.
Git worktree එකක් සාමාන්ය clone එකකට සමාන වන නමුත්, එහි තමන්ගේ HEAD, index, working tree ඇත. ඒත් Git එකට ඒ worktree දෙකම එකම පෝට්, එකම දත්ත ගබඩා, එකම cache key වැනි සම්පත් භාවිතා කරන බව නොදැනේ. එබැවින් දෙකම එකවර ධාවනය කළහොත් පෝට් ගැටලු, Docker compose project නාම ගැටලු, volume නාම ගැටලු වැනි ගැටළු ඇතිවිය හැක.
මෙම ගැටළු නිරාකරණය කිරීම සඳහා ලේඛකයා විසින් සකස් කළ ස්ක්රිප්ට් එක, එක් මැෂින් එකේ Docker stack එක බෙදාගෙන, worktree එකකට අදාළ පෝට්, දත්ත ගබඩා, cache namespace වැනි නාමයන් වෙන් කරයි. සැකසුම් ක්රියාවලිය තුළ worktree හැඳුනුම ගණනය කර, එය ලෝකල් රෙජිස්ට්රියක් සමඟ පරීක්ෂා කර, අදාළ පෝට් එක වෙන් කර, WORKTREE_ID, APP_PORT, DATABASE_NAME වැනි පාරිභෝගික පාරමිති සකස් කරයි. රෙජිස්ට්රියට ලොක් එකක් යෙදීමෙන් එකම වේලාවේ බහු worktree සකස් කිරීමේ ගැටළුවක් වළක්වයි.
ශ්රී ලංකාවට ඇති වැදගත්කම
- අධ්යයන ආකාරය: විශ්වවිද්යාල සිසුන්ට Git worktree හා Docker භාවිතයෙන් සංකීර්ණ පරිසරයක් නොකඩවා, ව්යාපෘති දෙකක් එකවර පරීක්ෂා කිරීමේ හැකියාව ලැබේ.
- ව්යාපාරික ප්රයෝජන: ශ්රී ලංකාවේ තාක්ෂණික ආරම්භකයන්ට බහු සංවර්ධන ශාඛා පාලනය පහසු කර, සම්පත් ගැටලුවක් නොමැතිව වේගවත් MVP (Minimum Viable Product) නිර්මාණය කළ හැකිය.
- විකාසක පරිසරය: Docker stack එකක් බෙදා ගැනීමෙන්, සම්පත් පරිභෝජනය අඩු කර, දේශීය සේවා (දත්ත ගබඩා, cache, mail catcher) එකම මැෂින් එකේ බහු worktree සඳහා වෙනම වෙන් කර ගත හැක.
- ආරක්ෂාව සහ ස්ථාවරතාව: ස්ක්රිප්ට් එක අසාර්ථකතා වාර්තා කර, පෝට් ගැටළු ඇතිවුවහොත් පැහැදිලි නිරාකරණය ලබා දේ; මෙය දේශීය සංවර්ධක කණ්ඩායම් සඳහා විශ්වාසදායක පරිසරයක් සපයයි.
අවසානයේ, Git worktree-වලට අනුකූලව සැකසුම් ස්ක්රිප්ට් එකක් භාවිතා කිරීම, සංවර්ධන කාලය කෙටි කර, දෝෂ අවස්ථා අඩු කර, තාක්ෂණික කණ්ඩායම් අතර සම්බන්ධතාවය වැඩි කරයි. ඔබේ පළපුරුදු ව්යාපෘතියේ මේ ක්රමය අදම අත්හදා බලන්න.