GitLab 11.9 αž”αžΆαž“αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžšαž€αžƒαžΎαž‰αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž“αž·αž„αž…αŸ’αž”αžΆαž”αŸ‹αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž‡αžΆαž…αŸ’αžšαžΎαž“αŸ”

GitLab 11.9 αž”αžΆαž“αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžšαž€αžƒαžΎαž‰αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž“αž·αž„αž…αŸ’αž”αžΆαž”αŸ‹αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž‡αžΆαž…αŸ’αžšαžΎαž“αŸ”

αžšαž€αžƒαžΎαž‰αž’αžΆαžαŸŒαž€αŸ†αž”αžΆαŸ†αž„αž›αŸαž…αž’αŸ’αž›αžΆαž™αž™αŸ‰αžΆαž„αž†αžΆαž”αŸ‹αžšαž αŸαžŸ

αžœαžΆαž αžΆαž€αŸ‹αžŠαžΌαž…αž‡αžΆαž€αŸ†αž αž»αžŸαžαžΌαž…αž˜αž½αž™αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αž‰αŸ’αž‡αžΌαž“αž–αŸαžαŸŒαž˜αžΆαž“αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž‘αŸ…αžƒαŸ’αž›αžΆαŸ†αž„αž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€αžŠαŸ„αž™αž…αŸƒαžŠαž“αŸ’αž™αŸ” αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž•αž›αžœαž·αž”αžΆαž€αž’αžΆαž…αž’αŸ’αž„αž“αŸ‹αž’αŸ’αž„αžšαŸ” αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž’αŸ’αž“αž€αžœαžΆαž™αž”αŸ’αžšαž αžΆαžšαž‘αž‘αž½αž›αž”αžΆαž“αž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž¬αžŸαŸ„ API αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ αž‚αžΆαžαŸ‹αž“αžΉαž„αž€αžΆαž“αŸ‹αž€αžΆαž”αŸ‹αž‚αžŽαž“αžΈαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ αž…αžΆαž€αŸ‹αžŸαŸ„αž’αŸ’αž“αž€αž…αŸαž‰ αž“αž·αž„αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž›αž»αž™αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžŠαŸ„αž™αž€αŸ’αž›αŸ‚αž„αž”αž“αŸ’αž›αŸ†αŸ” αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡ αž₯αž‘αŸ’αž’αž·αž–αž›αžŠαžΌαž˜αžΈαžŽαžΌαž‚αžΊαž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“αŸ– αž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαž‚αžŽαž“αžΈαž˜αž½αž™αž”αžΎαž€αž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαž‘αŸ…αž€αžΆαž“αŸ‹αž’αŸ’αž“αž€αžŠαž‘αŸƒαŸ” αž”αŸ’αžšαžΆαž€αŸ‹αž—αŸ’αž“αžΆαž›αŸ‹αž˜αžΆαž“αž€αž˜αŸ’αžšαž·αžαžαŸ’αž–αžŸαŸ‹ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αžœαžΆαž–αž·αžαž‡αžΆαž˜αžΆαž“αžŸαžΆαžšαŸˆαžŸαŸ†αžαžΆαž“αŸ‹αžαŸ’αž›αžΆαŸ†αž„αžŽαžΆαžŸαŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŸαŸ’αžœαŸ‚αž„αž™αž›αŸ‹αž’αŸ†αž–αžΈαž’αžΆαžαŸŒαž€αŸ†αž”αžΆαŸ†αž„αžŠαŸ‚αž›αž›αŸαž…αž’αŸ’αž›αžΆαž™αž±αŸ’αž™αž”αžΆαž“αž†αžΆαž”αŸ‹αžαžΆαž˜αžŠαŸ‚αž›αž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“αŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž“αŸαŸ‡αž™αžΎαž„αžŽαŸ‚αž“αžΆαŸ†αž‡αž˜αŸ’αžšαžΎαžŸ αž€αžΆαžšαžšαž€αžƒαžΎαž‰αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž‡αžΆαž•αŸ’αž“αŸ‚αž€αž˜αž½αž™αž“αŸƒαž˜αž»αžαž„αžΆαžš SAST αžšαž”αžŸαŸ‹αž™αžΎαž„αŸ” αž€αžΆαžšαž”αŸ’αžαŸαž‡αŸ’αž‰αžΆαž…αž·αžαŸ’αžαž“αžΈαž˜αž½αž™αŸ—αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαŸ’αž€αŸαž“αž€αŸ’αž“αž»αž„αž€αžΆαžšαž„αžΆαžš CI/CD αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αžΆαžαŸŒαž€αŸ†αž”αžΆαŸ†αž„αŸ” αž˜αžΆαž“αž€αžΆαžšαžŸαž˜αŸ’αž„αžΆαžαŸ‹ - αž αžΎαž™αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž‘αž‘αž½αž›αž”αžΆαž“αž€αžΆαžšαž–αŸ’αžšαž˜αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαŸ” αžœαžΆαžŠαž€αž αžΌαžαž›αž·αžαž·αžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αžŠαŸ‚αž›αž›αŸαž…αž’αŸ’αž›αžΆαž™αž“αŸ…αž“αžΉαž„αž€αž“αŸ’αž›αŸ‚αž„ αž“αž·αž„αž”αž„αŸ’αž€αžΎαžαžαŸ’αž˜αžΈαŸ”

αž’αžΆαž“αžΆαž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαŸ”

αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αžœαžΆαžšαžΈαž€αž…αž˜αŸ’αžšαžΎαž“ αž“αž·αž„αž€αžΆαž“αŸ‹αžαŸ‚αžŸαŸ’αž˜αž»αž‚αžŸαŸ’αž˜αžΆαž‰ αž€αžΆαžšαžšαž€αŸ’αžŸαžΆαž—αžΆαž–αžŸαŸŠαžΈαžŸαž„αŸ’αžœαžΆαž€αŸ‹αž‚αŸ’αž“αžΆαžšαžœαžΆαž„αž•αŸ’αž“αŸ‚αž€αž•αŸ’αžŸαŸαž„αŸ—αž“αŸƒαž’αž„αŸ’αž‚αž€αžΆαžšαž€αžΆαž“αŸ‹αžαŸ‚αž–αž·αž”αžΆαž€αŸ” αž’αŸ’αž“αž€β€‹αž”αŸ’αžšαžΎβ€‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈβ€‹αž€αžΆαž“αŸ‹β€‹αžαŸ‚β€‹αž…αŸ’αžšαžΎαž“ αž“αž·αž„β€‹αž”αŸ’αžšαžΆαž€αŸ‹β€‹αž…αŸ†αžŽαžΌαž›β€‹αž€αžΆαž“αŸ‹β€‹αžαŸ‚β€‹αžαŸ’αž–αžŸαŸ‹ αž•αž›β€‹αžœαž·αž”αžΆαž€β€‹αž“αŸƒβ€‹αž€αžΆαžšβ€‹αž”αž‰αŸ’αž…αžΌαž›β€‹αž€αžΌαžŠβ€‹αž˜αž·αž“β€‹αžαŸ’αžšαžΉαž˜β€‹αžαŸ’αžšαžΌαžœ αž¬β€‹αž˜αž·αž“β€‹αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–β€‹αž€αžΆαž“αŸ‹β€‹αžαŸ‚β€‹αž’αŸ’αž„αž“αŸ‹αž’αŸ’αž„αžšαŸ” αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αž„αŸ’αž‚αž€αžΆαžšαž‡αžΆαž…αŸ’αžšαžΎαž“ αž€αžΆαžšαž’αžΆαž“αžΆαž“αžΌαžœαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαž˜αž»αž“αž–αŸαž›αž”αž‰αŸ’αž…αžΌαž›αž€αžΌαžŠαž‚αžΊαž‡αžΆαžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαžŠαŸαžαžΉαž„αžšαŸ‰αžΉαž„ αž–αžΈαž–αŸ’αžšαŸ„αŸ‡αž αžΆαž“αž·αž—αŸαž™αž‚αžΊαžαŸ’αž–αžŸαŸ‹αžŽαžΆαžŸαŸ‹αŸ”

GitLab 11.9 αž•αŸ’αžαž›αŸ‹αž±αŸ’αž™αž’αŸ’αž“αž€αž“αžΌαžœαž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αžšαžΎαž“ αž“αž·αž„αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž€αžΆαž“αŸ‹αžαŸ‚αž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž– αžŸαžΌαž˜αž’αžšαž‚αž»αžŽαž…αŸ†αž–αŸ„αŸ‡ αž…αŸ’αž”αžΆαž”αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆ. αž–αžΈαž˜αž»αž“ αžŠαžΎαž˜αŸ’αž”αžΈαž‘αž‘αž½αž›αž”αžΆαž“αž€αžΆαžšαž’αž“αž»αž‰αŸ’αž‰αžΆαž αž’αŸ’αž“αž€αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αžαŸ’αžšαžΌαžœαž€αŸ†αžŽαžαŸ‹αž’αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαžŽαž”αž»αž‚αŸ’αž‚αž› αž¬αž€αŸ’αžšαž»αž˜αž˜αž½αž™αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡ (αžŸαž˜αžΆαž‡αž·αž€αž“αžΈαž˜αž½αž™αŸ—αžŠαŸ‚αž›αž’αžΆαž…αž•αŸ’αžαž›αŸ‹αž€αžΆαžšαž’αž“αž»αž‰αŸ’αž‰αžΆαž)αŸ” αž₯αž‘αžΌαžœβ€‹αž“αŸαŸ‡ αž’αŸ’αž“αž€β€‹αž’αžΆαž…β€‹αž”αž“αŸ’αžαŸ‚αž˜β€‹αž…αŸ’αž”αžΆαž”αŸ‹β€‹αž‡αžΆβ€‹αž…αŸ’αžšαžΎαž“ αžŠαžΌαž…αŸ’αž“αŸαŸ‡β€‹αžŸαŸ†αžŽαžΎβ€‹αž”αž‰αŸ’αž…αžΌαž›β€‹αž‚αŸ’αž“αžΆβ€‹αž‘αžΆαž˜αž‘αžΆαžšβ€‹αž€αžΆαžšβ€‹αž’αž“αž»αž‰αŸ’αž‰αžΆαžβ€‹αž–αžΈβ€‹αž”αž»αž‚αŸ’αž‚αž›β€‹αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹ αž¬β€‹αžŸαžΌαž˜αŸ’αž”αžΈβ€‹αžαŸ‚β€‹αžŸαž˜αžΆαž‡αž·αž€β€‹αž…αŸ’αžšαžΎαž“β€‹αž“αžΆαž€αŸ‹β€‹αž“αŸƒβ€‹αž€αŸ’αžšαž»αž˜β€‹αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹β€‹αž˜αž½αž™αŸ” αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡ αž˜αž»αžαž„αžΆαžšαž˜αŸ’αž…αžΆαžŸαŸ‹αž€αžΌαžŠαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαžΆαž€αŸ‹αž”αž‰αŸ’αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αž…αŸ’αž”αžΆαž”αŸ‹αž’αž“αž»αž‰αŸ’αž‰αžΆαž αžŠαŸ‚αž›αž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαž„αžΆαž™αžŸαŸ’αžšαž½αž›αž€αŸ’αž“αž»αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž’αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαžŽαž”αž»αž‚αŸ’αž‚αž›αžŠαŸ‚αž›αž”αžΆαž“αž…αŸαž‰αž›αž·αžαž·αžαž’αž“αž»αž‰αŸ’αž‰αžΆαžαŸ”

αž“αŸαŸ‡αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αž„αŸ’αž‚αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŸαŸ’αž˜αž»αž‚αžŸαŸ’αž˜αžΆαž‰ αžαžŽαŸˆαž–αŸαž›αžŠαŸ‚αž›αžšαž€αŸ’αžŸαžΆαž—αžΆαž–αžŸαžΆαž˜αž‰αŸ’αž‰αž“αŸƒαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ GitLab αžαŸ‚αž˜αž½αž™ αžŠαŸ‚αž›αž”αž‰αŸ’αž αžΆ αž€αžΌαžŠ αž”αŸ†αž–αž„αŸ‹αž”αž„αŸ’αž αžΌαžšαž”αŸ’αžšαŸαž„ αž“αž·αž„αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž’αžΆαž…αž˜αžΎαž›αžƒαžΎαž‰ αž“αž·αž„αž’αžΆαž…αž…αžΌαž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αžΆαž“αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž€αžΆαžšαžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αž αž“αž·αž„αž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αŸ”

αž₯αž‘αžΌαžœαž“αŸαŸ‡ ChatOps αž‚αžΊαž‡αžΆαž”αŸ’αžšαž—αž–αž”αžΎαž€αž…αŸ†αž 

GitLab ChatOps αž‚αžΊαž‡αžΆαž§αž”αž€αžšαžŽαŸαžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž€αž˜αŸ’αž˜αžŠαŸαž˜αžΆαž“αž₯αž‘αŸ’αž’αž·αž–αž›αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αžΆαžšαž„αžΆαžš CI/CD αžŽαžΆαž˜αž½αž™ αž αžΎαž™αžŸαž½αžšαžŸαŸ’αžαžΆαž“αž—αžΆαž–αžšαž”αžŸαŸ‹αžœαžΆαžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‡αž‡αŸ‚αž€αžŠαžΌαž…αž‡αžΆ Slack αž“αž·αž„ Mattermost αŸ” αž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†αžŠαŸ†αž”αžΌαž„αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 10.6ChatOps αž‚αžΊαž‡αžΆαž•αŸ’αž“αŸ‚αž€αž˜αž½αž™αž“αŸƒαž€αžΆαžšαž‡αžΆαžœ GitLab Ultimate αŸ” αž•αŸ’αž’αŸ‚αž€αž›αžΎ αž™αž»αž‘αŸ’αž’αžŸαžΆαžŸαŸ’αžαŸ’αžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž•αž›αž·αžαž•αž› ΠΈ αž€αžΆαžšαž”αŸ’αžαŸαž‡αŸ’αž‰αžΆαž…αž·αžαŸ’αžαž…αŸ†αž–αŸ„αŸ‡αž”αŸ’αžšαž—αž–αž”αžΎαž€αž…αŸ†αž αž–αŸαž›αžαŸ’αž›αŸ‡αž™αžΎαž„αžšαŸ†αž€αž·αž›αž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸαž…αž»αŸ‡αž€αŸ’αžšαŸ„αž˜αž˜αž½αž™αž€αž˜αŸ’αžšαž·αž αž“αž·αž„αž˜αž·αž“αž‘αžΎαž„αŸ”

αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈ ChatOps αž™αžΎαž„αž”αžΆαž“αžŠαžΉαž„αžαžΆαž˜αž»αžαž„αžΆαžšαž“αŸαŸ‡αž’αžΆαž…αž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αž“αž»αžŸαŸ’αžŸαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αž“αžΆ αž αžΎαž™αž€αžΆαžšαž…αžΌαž›αžšαž½αž˜αžšαž”αžŸαŸ‹αžŸαž αž‚αž˜αž“αŸαž’αžΆαž…αž•αŸ’αžαž›αŸ‹αž’αžαŸ’αžαž”αŸ’αžšαž™αŸ„αž‡αž“αŸαžŠαž›αŸ‹αž˜αž»αžαž„αžΆαžšαž“αŸαŸ‡αŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 11.9 αž™αžΎαž„ αž€αžΌαžŠ ChatOps αž”αŸ’αžšαž—αž–αž”αžΎαž€αž…αŸ†αž αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž αžΎαž™αž₯αž‘αžΌαžœαž“αŸαŸ‡ αžœαžΆαž’αžΆαž…αž”αŸ’αžšαžΎαž”αžΆαž“αžŠαŸ„αž™αžŸαŸαžšαžΈαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab Core αžŠαŸ‚αž›αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αžŠαŸ„αž™αžαŸ’αž›αž½αž“αž―αž„ αž“αž·αž„αž“αŸ…αž›αžΎ GitLab.com αž αžΎαž™αž”αžΎαž€αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαž αž‚αž˜αž“αŸαŸ”

Π˜ΠΌΠ½ΠΎΠ³ΠΎΠ΅Π΄Ρ€ΡƒΠ³ΠΎΠ΅!

αž˜αžΆαž“αž˜αž»αžαž„αžΆαžšαžŠαŸαž’αžŸαŸ’αž…αžΆαžšαŸ’αž™αž‡αžΆαž…αŸ’αžšαžΎαž“αžŠαŸ‚αž›αž˜αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž“αŸαŸ‡ ឧ. αžŸαžœαž“αž€αž˜αŸ’αž˜αž“αŸƒαž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž˜αž»αžαž„αžΆαžš, αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž—αžΆαž–αž„αžΆαž™αžšαž„αž‚αŸ’αžšαŸ„αŸ‡αž“αŸƒαžŸαŸ†αžŽαžΎαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆ ΠΈ αž‚αŸ†αžšαžΌ CI/CD αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž„αžΆαžšαžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–, - αžŠαŸ‚αž›αž™αžΎαž„αž˜αž·αž“αž’αžΆαž…αžšαž„αŸ‹αž…αžΆαŸ†αž”αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž’αŸ†αž–αžΈαž–αž½αž€αž‚αŸ!

αž”αž»αž‚αŸ’αž‚αž›αž·αž€αžŠαŸαž˜αžΆαž“αžαž˜αŸ’αž›αŸƒαž”αŸ†αž•αž»αž (αžšαž„αŸ’αžœαžΆαž“αŸ‹ MVP) αžαŸ‚αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‘αž‘αž½αž›αžŸαŸ’αž‚αžΆαž›αŸ‹αžŠαŸ„αž™ Marcel Amirault (Marcel Amirault)
Marcel αžαŸ‚αž„αžαŸ‚αž‡αž½αž™αž™αžΎαž„αž€αŸ‚αž›αž˜αŸ’αž’αž―αž€αžŸαžΆαžš GitLab αŸ” αž‚αžΆαžαŸ‹ αž”αžΆαž“αž’αŸ’αžœαžΎαž…αŸ’αžšαžΎαž“αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαž“αž‚αž»αžŽαž—αžΆαž– αž“αž·αž„αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž―αž€αžŸαžΆαžšαžšαž”αžŸαŸ‹αž™αžΎαž„αŸ” Domo arigato [αž’αžšαž‚αž»αžŽαž…αŸ’αžšαžΎαž“ (αž—αžΆαžŸαžΆαž‡αž”αŸ‰αž»αž“) - αž”αŸ’αžšαž αžΆαž€αŸ‹αž”αŸ’αžšαž αŸ‚αž›αŸ” trans.] Marcel, αž™αžΎαž„αžŸαžΌαž˜αž€αŸ„αžαžŸαžšαžŸαžΎαžšαžŠαŸ„αž™αžŸαŸ’αž˜αŸ„αŸ‡!

αž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸαžŸαŸ†αžαžΆαž“αŸ‹αŸ—αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™ GitLab 11.9

αž€αžΆαžšαžšαž€αžƒαžΎαž‰αž’αžΆαžαŸŒαž€αŸ†αž”αžΆαŸ†αž„ αž“αž·αž„αž–αŸαžαŸŒαž˜αžΆαž“αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„

(αž…αž»αž„αž€αŸ’αžšαŸ„αž™ មអស)

αž–αŸαž›αžαŸ’αž›αŸ‡αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž›αŸαž…αž’αŸ’αž›αžΆαž™αž’αžΆαžαŸŒαž€αŸ†αž”αžΆαŸ†αž„ αž“αž·αž„αž–αŸαžαŸŒαž˜αžΆαž“αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž‘αŸ…αž€αžΆαž“αŸ‹αžƒαŸ’αž›αžΆαŸ†αž„αž–αžΈαž…αž˜αŸ’αž„αžΆαž™αžŠαŸ„αž™αž’αž…αŸαžαž“αžΆαŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž˜αžΆαž“αžŸαž·αž‘αŸ’αž’αž·αž…αžΌαž›αž”αŸ’αžšαžΎαž”αŸ’αžšαž—αž–αž“αŸαŸ‡ αž¬αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž‚αž˜αŸ’αžšαŸ„αž„αž“αŸαŸ‡αž‡αžΆαžŸαžΆαž’αžΆαžšαžŽαŸˆ αž“αŸ„αŸ‡αž–αŸαžαŸŒαž˜αžΆαž“αžšαžŸαžΎαž”αžαŸ’αžšαžΌαžœαž”αžΆαž“αž›αžΆαžαžαŸ’αžšαžŠαžΆαž„ αž αžΎαž™αž’αŸ’αž“αž€αžœαžΆαž™αž”αŸ’αžšαž αžΆαžšαž’αžΆαž…αž”αŸ’αžšαžΎαžŠαžΎαž˜αŸ’αž”αžΈαž…αžΌαž›αž”αŸ’αžšαžΎαž’αž“αž’αžΆαž“αžŠαžΌαž…αž‡αžΆαž”αžšαž·αžŸαŸ’αžαžΆαž“αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αž‡αžΆαžŠαžΎαž˜αŸ”

GitLab 11.9 αž˜αžΆαž“αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαžαŸ’αž˜αžΈαž˜αž½αž™ - "αž€αžΆαžšαžšαž€αžƒαžΎαž‰αžŸαž˜αŸ’αž„αžΆαžαŸ‹" αŸ” αžœαžΆαžŸαŸ’αž€αŸ‚αž“αž˜αžΆαžαž·αž€αžΆαž“αŸƒαžƒαŸ’αž›αžΆαŸ†αž„αžšαž€αž˜αžΎαž›αžŸαŸ„ API αž“αž·αž„αž–αŸαžαŸŒαž˜αžΆαž“αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαžŠαŸ‚αž›αž˜αž·αž“αž‚αž½αžšαž“αŸ…αž‘αžΈαž“αŸ„αŸ‡αŸ” GitLab αž”αž„αŸ’αž αžΆαž‰αž›αž‘αŸ’αž’αž•αž›αž“αŸ…αž€αŸ’αž“αž»αž„αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸ SAST αž“αŸ…αž€αŸ’αž“αž»αž„αž’αžΆαžαž»αž€αŸ’αžšαžΆαž αŸ’αžœαž·αž€αž€αžΆαžšαžŸαŸ’αž“αžΎαžŸαž»αŸ†αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆ αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαž”αŸ†αž–αž„αŸ‹ αž“αž·αž„αž•αŸ’αž‘αžΆαŸ†αž„αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αŸ”

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž”αžΆαž“αž”αžΎαž€ SAST αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžšαž½αž…αž αžΎαž™ αž“αŸ„αŸ‡αž’αŸ’αž“αž€αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž’αŸ’αžœαžΎαž’αŸ’αžœαžΈαž“αŸ„αŸ‡αž‘αŸ αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž‘αžΆαž‰αž™αž€αž’αžαŸ’αžαž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž–αžΈαž˜αž»αžαž„αžΆαžšαžαŸ’αž˜αžΈαž“αŸαŸ‡αŸ” αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž•αž„αžŠαŸ‚αžšαž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹ αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· DevOps αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜

GitLab 11.9 αž”αžΆαž“αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžšαž€αžƒαžΎαž‰αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž“αž·αž„αž…αŸ’αž”αžΆαž”αŸ‹αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž‡αžΆαž…αŸ’αžšαžΎαž“αŸ”
αž―αž€αžŸαžΆαžš
αž‚αŸ„αž›αž”αŸ†αžŽαž„

αž…αŸ’αž”αžΆαž”αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆ

(αž–αž·αžŸαŸαžŸ, αž…αž»αž„αž€αŸ’αžšαŸ„αž™, αž”αŸ’αžšαžΆαž€αŸ‹, មអស)

αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž€αžΌαžŠαž‚αžΊαž‡αžΆαž’αžΆαžαž»αžŸαŸ†αžαžΆαž“αŸ‹αž“αŸƒαžšαžΆαž›αŸ‹αž‚αž˜αŸ’αžšαŸ„αž„αžŠαŸ‚αž›αž‘αž‘αž½αž›αž”αžΆαž“αž‡αŸ„αž‚αž‡αŸαž™ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžœαžΆαž˜αž·αž“αžαŸ‚αž„αžαŸ‚αž…αŸ’αž”αžΆαžŸαŸ‹αžαžΆαž’αŸ’αž“αž€αžŽαžΆαž‚αž½αžšαž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž“αŸ„αŸ‡αž‘αŸαŸ” αž‡αžΆαž‰αžΉαž€αž‰αž™ αžœαžΆαž‚αžΊαž‡αžΆαž€αžΆαžšαž…αž„αŸ‹αž”αžΆαž“αž’αŸ’αž“αž€αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž–αžΈαž€αŸ’αžšαž»αž˜αž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆαŸ– αž€αŸ’αžšαž»αž˜αž’αž—αž·αžœαžŒαŸ’αžαž“αŸ αž€αŸ’αžšαž»αž˜αž”αž‘αž–αž·αžŸαŸ„αž’αž“αŸαž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ αž€αŸ’αžšαž»αž˜αž•αž›αž·αžαŸ”

αž…αŸ’αž”αžΆαž”αŸ‹αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„αž“αžΌαžœαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸƒαž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αžšαžœαžΆαž„αž˜αž“αž»αžŸαŸ’αžŸαžŠαŸ‚αž›αž…αžΌαž›αžšαž½αž˜αž€αŸ’αž“αž»αž„αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž€αžΌαžŠαžŠαŸ„αž™αž€αŸ†αžŽαžαŸ‹αžšαž„αŸ’αžœαž„αŸ‹αž“αŸƒαž’αŸ’αž“αž€αž’αž“αž»αž˜αŸαžαžŠαŸ‚αž›αž˜αžΆαž“αž€αžΆαžšαž’αž“αž»αž‰αŸ’αž‰αžΆαž αž“αž·αž„αž…αŸ†αž“αž½αž“αž’αž”αŸ’αž”αž”αžšαž˜αžΆαž“αŸƒαž€αžΆαžšαž’αž“αž»αž‰αŸ’αž‰αžΆαžαŸ” αž…αŸ’αž”αžΆαž”αŸ‹αž“αŸƒαžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αž“αŸ…αž€αŸ’αž“αž»αž„αž’αžΆαžαž»αž€αŸ’αžšαžΆαž αŸ’αžœαž·αž€αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž’αŸ’αž“αž€αž’αžΆαž…αž…αžΆαžαŸ‹αžαžΆαŸ†αž„αž’αŸ’αž“αž€αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž”αžΆαž“αž™αŸ‰αžΆαž„αž†αžΆαž”αŸ‹αžšαž αŸαžŸαŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 11.8 αž…αŸ’αž”αžΆαž”αŸ‹αž’αž“αž»αž‰αŸ’αž‰αžΆαžαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž·αž‘αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αŸ” αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‡αžΆαž˜αž½αž™ GitLab 11.9 αž–αž½αž€αžœαžΆαž’αžΆαž…αž”αŸ’αžšαžΎαž”αžΆαž“αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 11.3 αž™αžΎαž„αž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†αž‡αž˜αŸ’αžšαžΎαžŸ αž˜αŸ’αž…αžΆαžŸαŸ‹αž€αžΌαžŠ αžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ†αžŽαžαŸ‹αž’αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαžŽαžŸαž˜αžΆαž‡αž·αž€αž€αŸ’αžšαž»αž˜αžŠαŸ‚αž›αž‘αž‘αž½αž›αžαž»αžŸαžαŸ’αžšαžΌαžœαž…αŸ†αž–αŸ„αŸ‡αž›αŸαžαž€αžΌαžŠαž”αž»αž‚αŸ’αž‚αž›αž“αŸ…αž€αŸ’αž“αž»αž„αž‚αž˜αŸ’αžšαŸ„αž„αž˜αž½αž™αŸ” αž˜αž»αžαž„αžΆαžšαž˜αŸ’αž…αžΆαžŸαŸ‹αž€αžΌαžŠαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαžΆαž€αŸ‹αž”αž‰αŸ’αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αž…αŸ’αž”αžΆαž”αŸ‹αž’αž“αž»αž‰αŸ’αž‰αžΆαž αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž’αŸ’αž“αž€αž’αžΆαž…αžŸαŸ’αžœαŸ‚αž„αžšαž€αž˜αž“αž»αžŸαŸ’αžŸαžŠαŸ‚αž›αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαžŠαžΎαž˜αŸ’αž”αžΈαž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž”αžΆαž“αž™αŸ‰αžΆαž„αž†αžΆαž”αŸ‹αžšαž αŸαžŸαŸ”

GitLab 11.9 αž”αžΆαž“αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžšαž€αžƒαžΎαž‰αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž“αž·αž„αž…αŸ’αž”αžΆαž”αŸ‹αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž‡αžΆαž…αŸ’αžšαžΎαž“αŸ”
αž―αž€αžŸαžΆαžš
αž‚αŸ„αž›αž”αŸ†αžŽαž„

αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈ ChatOps αž‘αŸ…αžŸαŸ’αž“αžΌαž›

(αžŸαŸ’αž“αžΌαž›, αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜, αž–αž·αžŸαŸαžŸ, αž…αž»αž„αž€αŸ’αžšαŸ„αž™, αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒ, αžŸαŸ†αžšαž·αž‘αŸ’αž’, αž”αŸ’αžšαžΆαž€αŸ‹, មអស)

αž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†αžŠαŸ†αž”αžΌαž„αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab Ultimate 10.6, ChatOps αž”αžΆαž“αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‘αŸ… GitLab Core αŸ” GitLab ChatOps αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αžΆαžšαž„αžΆαžš GitLab CI αžαžΆαž˜αžšαž™αŸˆ Slack αžŠαŸ„αž™αž”αŸ’αžšαžΎαž˜αž»αžαž„αžΆαžšαž“αŸαŸ‡αŸ” αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ slash.

αž™αžΎαž„β€‹αž€αŸ†αž–αž»αž„β€‹αž”αžΎαž€β€‹αž”αŸ’αžšαž—αž–β€‹αž›αž€αŸ’αžαžŽαŸˆβ€‹αž–αž·αžŸαŸαžŸβ€‹αž“αŸαŸ‡β€‹αžŠαŸ„αž™β€‹αž™αŸ„αž„β€‹αžαžΆαž˜β€‹αžšαž”αžŸαŸ‹β€‹αž™αžΎαž„ αž‚αŸ„αž›αž€αžΆαžšαžŽαŸαž€αž˜αŸ’αžšαž·αžαžαž˜αŸ’αžšαž„αŸ‹αž‘αž·αžŸαž’αžαž·αžαž·αž‡αž“. αžαžΆαž˜αžšαž™αŸˆαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžœαžΆαž€αžΆαž“αŸ‹αžαŸ‚αž‰αžΉαž€αž‰αžΆαž”αŸ‹ αžŸαž αž‚αž˜αž“αŸαž“αžΉαž„αžšαž½αž˜αž…αŸ†αžŽαŸ‚αž€αž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αžšαžΎαž“αŸ”

GitLab 11.9 αž”αžΆαž“αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžšαž€αžƒαžΎαž‰αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž“αž·αž„αž…αŸ’αž”αžΆαž”αŸ‹αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž‡αžΆαž…αŸ’αžšαžΎαž“αŸ”
αž―αž€αžŸαžΆαžš
αž‚αŸ„αž›αž”αŸ†αžŽαž„

αžŸαžœαž“αž€αž˜αŸ’αž˜αž“αŸƒαž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž˜αž»αžαž„αžΆαžš

(αž–αž·αžŸαŸαžŸ, αž…αž»αž„αž€αŸ’αžšαŸ„αž™, αž”αŸ’αžšαžΆαž€αŸ‹, មអស)

αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžŠαžΌαž…αž‡αžΆαž€αžΆαžšαž”αž“αŸ’αžαŸ‚αž˜ αž€αžΆαžšαž›αž»αž” αž¬αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸαž₯αž‘αžΌαžœαž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»αžŸαžœαž“αž€αž˜αŸ’αž˜ GitLab αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž’αŸ’αž“αž€αž’αžΆαž…αžƒαžΎαž‰αž’αŸ’αžœαžΈαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžš αž“αž·αž„αž“αŸ…αž–αŸαž›αžŽαžΆαŸ” αž˜αžΆαž“αž§αž”αž‘αŸ’αž‘αžœαž αŸαžαž»αž˜αž½αž™ αž αžΎαž™αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž˜αžΎαž›αž’αŸ’αžœαžΈαžŠαŸ‚αž›αž”αžΆαž“αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž“αžΆαž–αŸαž›αžαŸ’αž˜αžΈαŸ—αž“αŸαŸ‡? αž¬αžαžΎαž’αŸ’αž“αž€αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αžαŸ’αžšαžΌαžœαž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αžαžΆαžαžΎαž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž˜αž»αžαž„αžΆαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‡αžΆαž•αŸ’αž“αŸ‚αž€αž“αŸƒαžŸαžœαž“αž€αž˜αŸ’αž˜αžŠαŸ‚αžšαž¬αž‘αŸ? αž₯αž‘αžΌαžœαž“αŸαŸ‡αžœαžΆαž„αžΆαž™αžŸαŸ’αžšαž½αž›αž’αŸ’αžœαžΎαžŽαžΆαžŸαŸ‹αŸ”

GitLab 11.9 αž”αžΆαž“αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžšαž€αžƒαžΎαž‰αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž“αž·αž„αž…αŸ’αž”αžΆαž”αŸ‹αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž‡αžΆαž…αŸ’αžšαžΎαž“αŸ”
αž―αž€αžŸαžΆαžš
αž‚αŸ„αž›αž”αŸ†αžŽαž„

αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž—αžΆαž–αž„αžΆαž™αžšαž„αž‚αŸ’αžšαŸ„αŸ‡αž“αŸƒαžŸαŸ†αžŽαžΎαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆ

(αž…αž»αž„αž€αŸ’αžšαŸ„αž™ មអស)

αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž—αžΆαž–αž„αžΆαž™αžšαž„αž‚αŸ’αžšαŸ„αŸ‡αž€αžΌαžŠαž™αŸ‰αžΆαž„αž†αžΆαž”αŸ‹αžšαž αŸαžŸ αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžαŸ’αžšαžΌαžœαžαŸ‚αžŸαžΆαž˜αž‰αŸ’αž‰αŸ” αžœαžΆαž˜αžΆαž“αžŸαžΆαžšαŸˆαžŸαŸ†αžαžΆαž“αŸ‹αžŽαžΆαžŸαŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŸαž˜αŸ’αžšαž½αž›αž”αŸ†αžŽαŸ‡αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž– αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž•αŸ’αžαŸ„αžαž›αžΎαž‘αŸ†αž“αž½αž›αžαž»αžŸαžαŸ’αžšαžΌαžœαžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαŸ” αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 11.7 αž™αžΎαž„ αž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†αž―αž€αžŸαžΆαžšαž‡αž½αžŸαž‡αž»αž›αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžœαžΆαžαŸ’αžšαžΌαžœαžαŸ‚αž‘αžΆαž‰αž™αž€ αž’αž“αž»αžœαžαŸ’αžαž€αŸ’αž“αž»αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“ αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž”αžΆαž“αžšαž»αž‰αž‘αŸ…αžƒαŸ’αž›αžΆαŸ†αž„αž–αžΈαž…αž˜αŸ’αž„αžΆαž™αŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 11.9 αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸαŸ‡αž‚αžΊαžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αŸ” αž‡αž½αžŸαž‡αž»αž›αž—αžΆαž–αž„αžΆαž™αžšαž„αž‚αŸ’αžšαŸ„αŸ‡αžŠαŸ„αž™αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž…αžΆαž€αž…αŸαž‰αž–αžΈαž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž”αžŽαŸ’αžαžΆαž‰ GitLab αŸ” αžŸαŸ†αžŽαžΎβ€‹αž”αž‰αŸ’αž…αžΌαž›β€‹αž‚αŸ’αž“αžΆβ€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž”αž„αŸ’αž€αžΎαžβ€‹αžŠαŸ„αž™β€‹αž•αŸ’αž‘αžΆαž›αŸ‹β€‹αž–αžΈβ€‹αž”αž„αŸ’αž’αž½αž…β€‹αž–αŸαžαŸŒαž˜αžΆαž“β€‹αž—αžΆαž–β€‹αž„αžΆαž™β€‹αžšαž„αž‚αŸ’αžšαŸ„αŸ‡ αž αžΎαž™β€‹αžŸαžΆαžαžΆβ€‹αžαŸ’αž˜αžΈβ€‹αž“αŸαŸ‡β€‹αž“αžΉαž„β€‹αž˜αžΆαž“β€‹αž€αžΆαžšβ€‹αž‡αž½αžŸαž‡αž»αž›β€‹αžšαž½αž…β€‹αž αžΎαž™αŸ” αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αžαžΆαžαžΎαž”αž‰αŸ’αž αžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž¬αž’αžαŸ‹αž“αŸ„αŸ‡ αžŸαžΌαž˜αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‡αž½αžŸαž‡αž»αž›αž‘αŸ…αžŸαžΆαžαžΆαžαžΆαž„αž›αžΎ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž”αŸ†αž–αž„αŸ‹αž”αž„αŸ’αž αžΌαžšαž”αŸ’αžšαŸαž„αž˜αž·αž“αž’αžΈαž‘αŸαŸ”

GitLab 11.9 αž”αžΆαž“αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžšαž€αžƒαžΎαž‰αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž“αž·αž„αž…αŸ’αž”αžΆαž”αŸ‹αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž‡αžΆαž…αŸ’αžšαžΎαž“αŸ”
αž―αž€αžŸαžΆαžš
αž‚αŸ„αž›αž”αŸ†αžŽαž„

αž”αž„αŸ’αž αžΆαž‰αž›αž‘αŸ’αž’αž•αž›αžŸαŸ’αž€αŸαž“αž€αž»αž„αžαžΊαž“αŸαžšαž“αŸ…αž€αŸ’αž“αž»αž„αž”αž“αŸ’αž‘αŸ‡αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αž€αŸ’αžšαž»αž˜

(αž…αž»αž„αž€αŸ’αžšαŸ„αž™ មអស)

αž•αŸ’αž‘αžΆαŸ†αž„αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αžšαž”αžŸαŸ‹αž€αŸ’αžšαž»αž˜αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž€αŸ’αžšαž»αž˜αž•αŸ’αžαŸ„αžαž›αžΎαž”αž‰αŸ’αž αžΆαžŸαŸ†αžαžΆαž“αŸ‹αž”αŸ†αž•αž»αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž„αžΆαžšαžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸ αžŠαŸ„αž™αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž‘αž·αžŠαŸ’αž‹αž—αžΆαž–αž‘αžΌαž‘αŸ…αž…αŸ’αž”αžΆαžŸαŸ‹αž›αžΆαžŸαŸ‹ αž“αž·αž„αž›αž˜αŸ’αž’αž·αžαž’αŸ†αž–αžΈαž—αžΆαž–αž„αžΆαž™αžšαž„αž‚αŸ’αžšαŸ„αŸ‡αžŠαŸ‚αž›αž’αžΆαž…αž”αŸ‰αŸ‡αž–αžΆαž›αŸ‹αžŠαž›αŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαŸ” αž“αŸ„αŸ‡αž αžΎαž™αž‡αžΆαž˜αžΌαž›αž αŸαžαž»αžŠαŸ‚αž›αžœαžΆαž˜αžΆαž“αžŸαžΆαžšαŸˆαžŸαŸ†αžαžΆαž“αŸ‹αžŠαŸ‚αž›αž•αŸ’αž‘αžΆαŸ†αž„αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž˜αžΆαž“αž–αŸαžαŸŒαž˜αžΆαž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž“αŸ’αž›αŸ‚αž„αžαŸ‚αž˜αž½αž™ αž“αž·αž„αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŸαŸ’αžœαŸ‚αž„αž™αž›αŸ‹αž–αžΈαž‘αž·αž“αŸ’αž“αž“αŸαž™αž˜αž»αž“αž–αŸαž›αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž—αžΆαž–αž„αžΆαž™αžšαž„αž‚αŸ’αžšαŸ„αŸ‡αŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 11.9 αž›αž‘αŸ’αž’αž•αž›αžŸαŸ’αž€αŸ‚αž“αž€αž»αž„αžαžΊαž“αŸαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ…αž•αŸ’αž‘αžΆαŸ†αž„αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„ αž”αž“αŸ’αžαŸ‚αž˜αž›αžΎαž›αž‘αŸ’αž’αž•αž›αžŸαŸ’αž€αŸαž“ SAST αž“αž·αž„αž’αžΆαžŸαŸ’αžšαŸαž™αžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžšαžΆαž”αŸ‹αŸ” αž₯αž‘αžΌαžœαž“αŸαŸ‡αž‘αž·αžŠαŸ’αž‹αž—αžΆαž–αž‘αžΌαž‘αŸ…αž‘αžΆαŸ†αž„αž˜αžΌαž›αž‚αžΊαž“αŸ…αž€αŸ’αž“αž»αž„αž€αž“αŸ’αž›αŸ‚αž„αžαŸ‚αž˜αž½αž™αžŠαŸ„αž™αž˜αž·αž“αž‚αž·αžαž–αžΈαž”αŸ’αžšαž—αž–αž“αŸƒαž”αž‰αŸ’αž αžΆαž“αŸ„αŸ‡αž‘αŸαŸ”

GitLab 11.9 αž”αžΆαž“αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžšαž€αžƒαžΎαž‰αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž“αž·αž„αž…αŸ’αž”αžΆαž”αŸ‹αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž‡αžΆαž…αŸ’αžšαžΎαž“αŸ”
αž―αž€αžŸαžΆαžš
αž‚αŸ„αž›αž”αŸ†αžŽαž„

αž‚αŸ†αžšαžΌ CI/CD αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž„αžΆαžšαžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–

(αž…αž»αž„αž€αŸ’αžšαŸ„αž™ មអស)

αž˜αž»αžαž„αžΆαžšαžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αžšαž”αžŸαŸ‹ GitLab αž€αŸ†αž–αž»αž„αžœαž·αžœαžŒαŸ’αžαž™αŸ‰αžΆαž„αž†αžΆαž”αŸ‹αžšαž αŸαžŸ αž αžΎαž™αž‘αžΆαž˜αž‘αžΆαžšαž€αžΆαžšαž’αžΆαž”αŸ‹αžŠαŸαžαž‡αžΆαž”αŸ’αžšαž…αžΆαŸ† αžŠαžΎαž˜αŸ’αž”αžΈαžšαž€αŸ’αžŸαžΆαž€αžΌαžŠαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž±αŸ’αž™αž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž– αž“αž·αž„αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αŸ” αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž“αž·αž™αž˜αž“αŸαž™αž“αŸƒαž€αžΆαžšαž„αžΆαžšαž‚αžΊαž–αž·αž”αžΆαž€αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž’αŸ’αž“αž€αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž‚αž˜αŸ’αžšαŸ„αž„αž‡αžΆαž…αŸ’αžšαžΎαž“αŸ” αž αžΎαž™αž™αžΎαž„αž€αŸαž™αž›αŸ‹αž•αž„αžŠαŸ‚αžšαžαžΆαž‚αŸ’αž˜αžΆαž“αž“αžšαžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹αž…αž„αŸ‹αž”αŸ’αžšαžαž»αž™αž”αŸ’αžšαžαžΆαž“αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž€αŸ†αžŽαŸ‚αž…αž»αž„αž€αŸ’αžšαŸ„αž™αžšαž”αžŸαŸ‹ GitLab αžŠαŸ„αž™αž˜αž·αž“αž”αŸ’αžšαžΆαž€αžŠαžαžΆαžœαžΆαžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαž™αŸ‰αžΆαž„αž–αŸαž‰αž›αŸαž‰αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž§αž‘αžΆαž αžšαžŽαŸαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αžšαž”αžŸαŸ‹ GitLab αž“αŸ„αŸ‡αž‘αŸαŸ”

αžœαžΆαž‚αžΊαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž αŸαžαž»αž•αž›αž“αŸαŸ‡αžŠαŸ‚αž›αž™αžΎαž„αžŽαŸ‚αž“αžΆαŸ†αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 11.7 αž™αž“αŸ’αžαž€αžΆαžšαžαŸ’αž˜αžΈαž˜αž½αž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αŸ†αžŽαžαŸ‹αž€αžΆαžšαž„αžΆαžšαžŠαŸ„αž™αž”αŸ’αžšαžΎ αž›αŸ†αž“αžΆαŸ†.

αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‡αžΆαž˜αž½αž™ GitLab 11.9 αž™αžΎαž„αž“αžΉαž„αž•αŸ’αžαž›αŸ‹αž‡αžΌαž“αž“αžΌαžœαž‚αŸ†αžšαžΌαžŠαŸ‚αž›αž—αŸ’αž‡αžΆαž”αŸ‹αž˜αž€αž‡αžΆαž˜αž½αž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž„αžΆαžšαžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αŸ– αž§αž‘αžΆαž αžšαžŽαŸ sast ΠΈ dependency_scanning, - αž†αž”αž‚αŸ’αž“αžΆαž‡αžΆαž˜αž½αž™αž€αŸ†αžŽαŸ‚αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαž“αŸƒ GitLab αŸ”

αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž–αž½αž€αžœαžΆαžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ αž αžΎαž™αž–αž½αž€αžœαžΆαž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αžΆαž”αŸ‹αžŠαŸαžαž‡αžΆαž˜αž½αž™αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž“αŸ…αž–αŸαž›αžŽαžΆαžŠαŸ‚αž›αž’αŸ’αž“αž€αžŠαŸ†αž‘αžΎαž„αž€αŸ†αžŽαŸ‚αž‘αŸ…αž€αŸ†αžŽαŸ‚αžαŸ’αž˜αžΈαžšαž”αžŸαŸ‹ GitLabαŸ” αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž”αŸ†αž–αž„αŸ‹αž˜αž·αž“αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‘αŸαŸ”

αž˜αž’αŸ’αž™αŸ„αž”αžΆαž™αžαŸ’αž˜αžΈαž“αŸƒαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž€αžΆαžšαž„αžΆαžšαžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αž‚αžΊαž•αŸ’αž›αžΌαžœαž€αžΆαžš αž“αž·αž„αž˜αž·αž“αž‚αžΆαŸ†αž‘αŸ’αžšαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž€αžΆαžšαž„αžΆαžšαž–αžΈαž˜αž»αž“αž•αŸ’αžŸαŸαž„αž‘αŸ€αž αž¬αž–αŸαžαŸŒαž˜αžΆαž“αžŸαž„αŸ’αžαŸαž”αž€αžΌαžŠαž‘αŸαŸ” αž’αŸ’αž“αž€αž‚αž½αžšαžαŸ‚αž’αžΆαž”αŸ‹αžŠαŸαžαž“αž·αž™αž˜αž“αŸαž™αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž±αŸ’αž™αž”αžΆαž“αž†αžΆαž”αŸ‹αžαžΆαž˜αžŠαŸ‚αž›αž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“ αžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ’αžšαžΎαž–αžΆαž€αŸ’αž™αž‚αž“αŸ’αž›αžΉαŸ‡αžαŸ’αž˜αžΈαŸ” template. αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžœαžΆαž€αŸ’αž™αžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαžŽαžΆαž˜αž½αž™αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαž€αž…αŸαž‰αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 12.0 αž¬αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž“αžΆαž–αŸαž›αž’αž“αžΆαž‚αžαŸ”

GitLab 11.9 αž”αžΆαž“αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžšαž€αžƒαžΎαž‰αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž“αž·αž„αž…αŸ’αž”αžΆαž”αŸ‹αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž‡αžΆαž…αŸ’αžšαžΎαž“αŸ”
αž―αž€αžŸαžΆαžš
αž‚αŸ„αž›αž”αŸ†αžŽαž„

αž€αžΆαžšαž€αŸ‚αž›αž˜αŸ’αž’αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 11.9

αž†αŸ’αž›αžΎαž™αžαž”αž‘αŸ…αž“αžΉαž„αž˜αžαž·αž™αŸ„αž”αž›αŸ‹

(αžŸαŸ’αž“αžΌαž›, αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜, αž–αž·αžŸαŸαžŸ, αž…αž»αž„αž€αŸ’αžšαŸ„αž™, αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒ, αžŸαŸ†αžšαž·αž‘αŸ’αž’, αž”αŸ’αžšαžΆαž€αŸ‹, មអស)

GitLab αž˜αžΆαž“αž€αžΆαžšαž–αž·αž—αžΆαž€αŸ’αžŸαžΆαž›αžΎαž”αŸ’αžšαž’αžΆαž“αž”αž‘αŸ” αžšαž αžΌαžβ€‹αž˜αž€β€‹αžŠαž›αŸ‹β€‹αž–αŸαž›β€‹αž“αŸαŸ‡ αž’αŸ’αž“αž€β€‹αžŠαŸ‚αž›β€‹αžŸαžšαžŸαŸαžšβ€‹αž˜αžαž·β€‹αžŠαžΎαž˜β€‹αžαŸ’αžšαžΌαžœβ€‹αžŸαž˜αŸ’αžšαŸαž…β€‹αžαžΆαŸ†αž„β€‹αž–αžΈβ€‹αžŠαžΎαž˜β€‹αž˜αž€β€‹αžαžΆβ€‹αžαžΎβ€‹αž–αž½αž€β€‹αž‚αŸβ€‹αž…αž„αŸ‹β€‹αž”αžΆαž“β€‹αž€αžΆαžšβ€‹αž–αž·αž—αžΆαž€αŸ’αžŸαžΆβ€‹αž¬β€‹αž’αžαŸ‹αŸ”

αž™αžΎαž„αž”αžΆαž“αž”αž“αŸ’αž’αžΌαžšαž”αž“αŸ’αžαž™αž€αžΆαžšαžšαžΉαžαž”αž“αŸ’αžαžΉαž„αž“αŸαŸ‡αŸ” αž‘αž‘αž½αž›αž™αž€αž˜αžαž·αž™αŸ„αž”αž›αŸ‹αžŽαžΆαž˜αž½αž™αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab (αž›αžΎαž”αž‰αŸ’αž αžΆ αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆ αž“αž·αž„αžœαžΈαžšαž—αžΆαž–) αž αžΎαž™αž†αŸ’αž›αžΎαž™αžαž”αž‘αŸ…αžœαžΆ αžŠαŸ„αž™αž αŸαžαž»αž“αŸαŸ‡αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž€αžΆαžšαž–αž·αž—αžΆαž€αŸ’αžŸαžΆαŸ” αžœαž·αž’αžΈαž“αŸαŸ‡αž€αŸ’αžšαž»αž˜αž’αŸ’αžœαžΎαž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αž€αžΆαž“αŸ‹αžαŸ‚αžšαŸ€αž”αž…αŸ†αŸ”

GitLab 11.9 αž”αžΆαž“αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžšαž€αžƒαžΎαž‰αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž“αž·αž„αž…αŸ’αž”αžΆαž”αŸ‹αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž‡αžΆαž…αŸ’αžšαžΎαž“αŸ”
αž―αž€αžŸαžΆαžš
αž‚αŸ„αž›αž”αŸ†αžŽαž„

αž‚αŸ†αžšαžΌαž‚αž˜αŸ’αžšαŸ„αž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ .NET, Go, iOS αž“αž·αž„αž‘αŸ†αž–αŸαžš

(αžŸαŸ’αž“αžΌαž›, αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜, αž–αž·αžŸαŸαžŸ, αž…αž»αž„αž€αŸ’αžšαŸ„αž™, αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒ, αžŸαŸ†αžšαž·αž‘αŸ’αž’, αž”αŸ’αžšαžΆαž€αŸ‹, មអស)

αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαž€αžΆαž“αŸ‹αžαŸ‚αž„αžΆαž™αžŸαŸ’αžšαž½αž›αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž‚αž˜αŸ’αžšαŸ„αž„αžαŸ’αž˜αžΈ αž™αžΎαž„αž€αŸ†αž–αž»αž„αž•αŸ’αžαž›αŸ‹αž‡αžΌαž“αž“αžΌαžœαž‚αŸ†αžšαžΌαž‚αž˜αŸ’αžšαŸ„αž„αžαŸ’αž˜αžΈαž‡αžΆαž…αŸ’αžšαžΎαž“αŸ–

  • αž”αž‹αž˜αžŸαž·αž€αŸ’αžŸαžΆ αž‚αŸ†αžšαžΌαž‚αž˜αŸ’αžšαŸ„αž„ .NET CoreαžŠαŸ‚αž›αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‡αžΆαž˜αž½αž™ CI αŸ”
  • αž‚αŸ†αžšαžΌαžŠαŸ‚αž›αžαŸ’αžšαŸ€αž˜αžšαž½αž…αž‡αžΆαžŸαŸ’αžšαŸαž…αžŠαŸ‚αž›αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆ αž€αŸ’αžšαž”αžαžŽαŸ’αžŒαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž˜αžΈαž€αŸ’αžšαžΌαž˜αžΈαž€αŸ’αžšαžΌ αž“αž·αž„ GitLab CI/CD αŸ”
  • αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ iOS β€œαž‡αŸ†αžšαžΆαž”αžŸαž½αžš αž–αž·αž—αž–αž›αŸ„αž€!β€αžšαž½αž…αžšαžΆαž›αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αŸ’αžŠαžΌαžšαžαžΆαž˜αž”αŸ†αžŽαž„αžŠαŸ†αž”αžΌαž„αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab αŸ” αž…αŸ†αžŽαžΆαŸ†αžαžΆαž…αžΆαž”αŸ‹αžαžΆαŸ†αž„αž–αžΈαž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžš iOS αžαž˜αŸ’αžšαžΌαžœαž±αŸ’αž™αž˜αžΆαž“αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαžαŸ‹ macOS αž–αž·αžŸαŸαžŸ αž’αŸ’αž“αž€αž“αžΉαž„αžαŸ’αžšαžΌαžœαž•αŸ’αžαž›αŸ‹αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž”αž„αŸ’αž€αžΎαžαž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž…αž„αŸ‹αž”αŸ’αžšαžΎαžœαžΆαž‡αžΆαž˜αž½αž™ GitLab CI/CD αŸ”
  • αž‚αŸ†αžšαžΌαž‘αŸ†αž–αŸαžš GitLab αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™ Netlify αŸ”

αž―αž€αžŸαžΆαžš
αžœαžΈαžšαž—αžΆαž–

αž‘αžΆαž˜αž‘αžΆαžšαž€αžΆαžšαž’αž“αž»αž‰αŸ’αž‰αžΆαžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž–αžΈαž˜αŸ’αž…αžΆαžŸαŸ‹αž€αžΌαžŠ

(αž–αž·αžŸαŸαžŸ, αž…αž»αž„αž€αŸ’αžšαŸ„αž™, αž”αŸ’αžšαžΆαž€αŸ‹, មអស)

αžœαžΆαž˜αž·αž“αžαŸ‚αž„αžαŸ‚αž…αŸ’αž”αžΆαžŸαŸ‹αžαžΆαž’αŸ’αž“αž€αžŽαžΆαž™αž›αŸ‹αž–αŸ’αžšαž˜αž›αžΎαžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž“αŸ„αŸ‡αž‘αŸαŸ”

αž₯αž‘αžΌαžœαž“αŸαŸ‡ GitLab αž‚αžΆαŸ†αž‘αŸ’αžšαž€αžΆαžšαž‘αžΆαž˜αž‘αžΆαžšαž±αŸ’αž™αž˜αžΆαž“αž€αžΆαžšαž™αž›αŸ‹αž–αŸ’αžšαž˜αž›αžΎαžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαž―αž€αžŸαžΆαžšαž’αŸ’αžœαžΈαžŠαŸ‚αž›αžŸαŸ†αžŽαžΎαž€αŸ‚αž”αŸ’αžšαŸ‚ αžŠαŸ„αž™αž”αŸ’αžšαžΎ αž˜αŸ’αž…αžΆαžŸαŸ‹αž€αžΌαžŠ. αž˜αŸ’αž…αžΆαžŸαŸ‹αž€αžΌαžŠαžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αžΆαžαŸ‹αžαžΆαŸ†αž„αžŠαŸ„αž™αž”αŸ’αžšαžΎαž―αž€αžŸαžΆαžšαžŠαŸ‚αž›αž αŸ…αžαžΆ CODEOWNERS, αž‘αŸ’αžšαž„αŸ‹αž‘αŸ’αžšαžΆαž™αž‚αžΊαžŸαŸ’αžšαžŠαŸ€αž„αž“αžΉαž„ gitattributes.

αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž…αžΆαžαŸ‹αžαžΆαŸ†αž„αž˜αŸ’αž…αžΆαžŸαŸ‹αž€αžΌαžŠαžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž‡αžΆαž”αž»αž‚αŸ’αž‚αž›αžŠαŸ‚αž›αž‘αž‘αž½αž›αžαž»αžŸαžαŸ’αžšαžΌαžœαž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αž“αž»αž˜αŸαžαžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„ Git Lab 11.5.

αž―αž€αžŸαžΆαžš
αž‚αŸ„αž›αž”αŸ†αžŽαž„

αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈαž―αž€αžŸαžΆαžšαž“αŸ…αž€αŸ’αž“αž»αž„ Web IDE

(αžŸαŸ’αž“αžΌαž›, αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜, αž–αž·αžŸαŸαžŸ, αž…αž»αž„αž€αŸ’αžšαŸ„αž™, αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒ, αžŸαŸ†αžšαž·αž‘αŸ’αž’, αž”αŸ’αžšαžΆαž€αŸ‹, មអស)

αž₯αž‘αžΌαžœαž“αŸαŸ‡ αžŠαŸ„αž™αž”αžΆαž“αž”αŸ’αžαžΌαžšαžˆαŸ’αž˜αŸ„αŸ‡αž―αž€αžŸαžΆαžš αž¬αžαžαž“αŸ„αŸ‡ αž’αŸ’αž“αž€αž’αžΆαž…αž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈαžœαžΆαž–αžΈ Web IDE αž‘αŸ…αžƒαŸ’αž›αžΆαŸ†αž„αž“αŸ…αžαžΆαž˜αž•αŸ’αž›αžΌαžœαžαŸ’αž˜αžΈαŸ”

GitLab 11.9 αž”αžΆαž“αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžšαž€αžƒαžΎαž‰αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž“αž·αž„αž…αŸ’αž”αžΆαž”αŸ‹αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž‡αžΆαž…αŸ’αžšαžΎαž“αŸ”
αž―αž€αžŸαžΆαžš
αž‚αŸ„αž›αž”αŸ†αžŽαž„

αžŸαŸ’αž›αžΆαž€αžαžΆαž˜αž›αŸ†αžŠαžΆαž”αŸ‹αž’αž€αŸ’αžαžšαž€αŸ’αžšαž˜

(αžŸαŸ’αž“αžΌαž›, αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜, αž–αž·αžŸαŸαžŸ, αž…αž»αž„αž€αŸ’αžšαŸ„αž™, αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒ, αžŸαŸ†αžšαž·αž‘αŸ’αž’, αž”αŸ’αžšαžΆαž€αŸ‹, មអស)

αžŸαŸ’αž›αžΆαž€ GitLab αž˜αžΆαž“αž—αžΆαž–αž…αž˜αŸ’αžšαž»αŸ‡αž˜αž·αž“αž‚αž½αžšαž±αŸ’αž™αž‡αžΏ αž αžΎαž™αž€αŸ’αžšαž»αž˜αž€αŸ†αž–αž»αž„αžŸαŸ’αžœαŸ‚αž„αžšαž€αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžαŸ’αž˜αžΈαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž–αž½αž€αž‚αŸαŸ” αžŠαžΌαž…αŸ’αž“αŸ„αŸ‡αž αžΎαž™ αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžαŸ‚αž„αžαŸ‚αž”αž“αŸ’αžαŸ‚αž˜αžŸαŸ’αž›αžΆαž€αž‡αžΆαž…αŸ’αžšαžΎαž“αž‘αŸ…αž“αžΉαž„αž”αž‰αŸ’αž αžΆ αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆ αž¬αžœαžΈαžšαž—αžΆαž–αŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 11.9 αž™αžΎαž„αž”αžΆαž“αž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαž€αžΆαž“αŸ‹αžαŸ‚αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž”αž“αŸ’αžαž·αž…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αŸ’αžšαžΎαžŸαŸ’αž›αžΆαž€αŸ” αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αž‰αŸ’αž αžΆ αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆ αž“αž·αž„αžœαžΈαžšαž—αžΆαž– αžŸαŸ’αž›αžΆαž€αžŠαŸ‚αž›αž”αž„αŸ’αž αžΆαž‰αž€αŸ’αž“αž»αž„αžšαž”αžΆαžšαž…αŸ†αž αŸ€αž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαŸ€αž”αž…αŸ†αžαžΆαž˜αž›αŸ†αžŠαžΆαž”αŸ‹αž’αž€αŸ’αžαžšαž€αŸ’αžšαž˜αŸ” αž“αŸαŸ‡αž€αŸαž’αž“αž»αžœαžαŸ’αžαž…αŸ†αž–αŸ„αŸ‡αž€αžΆαžšαž˜αžΎαž›αž”αž‰αŸ’αž‡αžΈαž“αŸƒαžœαžαŸ’αžαž»αž‘αžΆαŸ†αž„αž“αŸαŸ‡αž•αž„αžŠαŸ‚αžšαŸ”

GitLab 11.9 αž”αžΆαž“αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžšαž€αžƒαžΎαž‰αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž“αž·αž„αž…αŸ’αž”αžΆαž”αŸ‹αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž‡αžΆαž…αŸ’αžšαžΎαž“αŸ”
αž―αž€αžŸαžΆαžš
αž‚αŸ„αž›αž”αŸ†αžŽαž„

αž˜αžαž·αž™αŸ„αž”αž›αŸ‹αžšαž αŸαžŸαž“αŸ…αž–αŸαž›αžαŸ’αžšαž„αžŸαž€αž˜αŸ’αž˜αž—αžΆαž–αžαžΆαž˜αž—αžΆαžšαž€αž·αž…αŸ’αž…

(αžŸαŸ’αž“αžΌαž›, αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜, αž–αž·αžŸαŸαžŸ, αž…αž»αž„αž€αŸ’αžšαŸ„αž™, αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒ, αžŸαŸ†αžšαž·αž‘αŸ’αž’, αž”αŸ’αžšαžΆαž€αŸ‹, មអស)

αžαŸ’αž˜αžΈαŸ—αž“αŸαŸ‡ αž™αžΎαž„αž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†αž˜αž»αžαž„αžΆαžšαž˜αž½αž™αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžαŸ’αžšαž„αž–αŸαžαŸŒαž˜αžΆαž“αžŸαž€αž˜αŸ’αž˜αž—αžΆαž–αžαžΆαž˜αž—αžΆαžšαž€αž·αž…αŸ’αž… αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆ αž¬αžœαžΈαžšαž—αžΆαž– αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž–αž½αž€αž‚αŸαž•αŸ’αžαŸ„αžαžαŸ‚αž›αžΎαž˜αžαž·αž™αŸ„αž”αž›αŸ‹ αž¬αž€αŸ†αžŽαžαŸ‹αž…αŸ†αžŽαžΆαŸ†αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αž€αžΆαžšβ€‹αž€αŸ†αžŽαžαŸ‹β€‹αž“αŸαŸ‡β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αžšαž€αŸ’αžŸαžΆβ€‹αž‘αž»αž€β€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αž’αŸ’αž“αž€β€‹αž”αŸ’αžšαžΎβ€‹αž˜αŸ’αž“αžΆαž€αŸ‹αŸ—β€‹αž“αŸ…β€‹αž›αžΎβ€‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’ αž αžΎαž™β€‹αžœαžΆβ€‹αž’αžΆαž…β€‹αž“αžΉαž„β€‹αž€αžΎαžβ€‹αž‘αžΎαž„β€‹αžŠαŸ‚αž›β€‹αž’αŸ’αž“αž€β€‹αž”αŸ’αžšαžΎβ€‹αž”αŸ’αžšαž αŸ‚αž›β€‹αž‡αžΆβ€‹αž˜αž·αž“β€‹αžŠαžΉαž„β€‹αžαžΆβ€‹αž–αŸαž›β€‹αž˜αžΎαž›β€‹αž”αž‰αŸ’αž αžΆβ€‹αž”αŸ‰αž»αž“αŸ’αž˜αžΆαž“β€‹αžαŸ’αž„αŸƒβ€‹αž€αŸ’αžšαŸ„αž™β€‹αž˜αž€ αž–αž½αž€αž‚αŸβ€‹αžƒαžΎαž‰β€‹αž˜αžαž·β€‹αžŠαŸ‚αž›β€‹αž”αžΆαž“β€‹αžαŸ’αžšαž„αŸ” αž‚αžΆαžαŸ‹αž˜αžΆαž“αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαžαžΆαž‚αžΆαžαŸ‹αž˜αž·αž“αž’αžΆαž…αž”αž‰αŸ’αž…αŸαž‰αž˜αžαž·αž”αžΆαž“αž‘αŸαŸ”

αž™αžΎαž„αž”αžΆαž“αž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„αž“αžΌαžœαž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αž“αŸαŸ‡αŸ” αž₯αž‘αžΌαžœαž“αŸαŸ‡ αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αžΆαž…αž”αŸ’αžαžΌαžšαž‘αŸ…αžšαž”αŸ€αž”αž™αŸ‰αžΆαž„αž†αžΆαž”αŸ‹αžšαž αŸαžŸ αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž–αž½αž€αž‚αŸαž”αž‰αŸ’αž…αŸαž‰αž˜αžαž· αžŠαŸ„αž™αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αžšαŸ†αž€αž·αž›αžαŸ’αžšαž‘αž”αŸ‹αž‘αŸ…αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž›αžΎαž“αŸƒαž–αŸαžαŸŒαž˜αžΆαž“αŸ” αž“αŸαŸ‡αž’αž“αž»αžœαžαŸ’αžαž…αŸ†αž–αŸ„αŸ‡αž€αž·αž…αŸ’αž…αž€αžΆαžš αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆ αž“αž·αž„αžœαžΈαžšαž—αžΆαž–αŸ”

GitLab 11.9 αž”αžΆαž“αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžšαž€αžƒαžΎαž‰αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž“αž·αž„αž…αŸ’αž”αžΆαž”αŸ‹αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž‡αžΆαž…αŸ’αžšαžΎαž“αŸ”
αž―αž€αžŸαžΆαžš
αž‚αŸ„αž›αž”αŸ†αžŽαž„

αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž›αŸ†αžŠαžΆαž”αŸ‹αž“αŸƒαžœαžΈαžšαž—αžΆαž–αž€αž»αž˜αžΆαžš

(αž…αž»αž„αž€αŸ’αžšαŸ„αž™ មអស)

αž™αžΎαž„β€‹αž”αžΆαž“β€‹αž…αŸαž‰β€‹αž•αŸ’αžŸαžΆαž™β€‹αžαŸ’αž˜αžΈαŸ—β€‹αž“αŸαŸ‡αŸ” αžœαžΈαžšαž—αžΆαž–αž€αž»αž˜αžΆαžšαžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž”αŸ’αžšαžΎαžœαžΈαžšαž—αžΆαž–αž“αŸƒαžœαžΈαžšαž—αžΆαž– (αž”αž“αŸ’αžαŸ‚αž˜αž›αžΎαž€αž·αž…αŸ’αž…αž€αžΆαžšαž€αž»αž˜αžΆαžšαž“αŸƒαžœαžΈαžšαž—αžΆαž–)αŸ”

αž₯αž‘αžΌαžœαž“αŸαŸ‡ αž’αŸ’αž“αž€αž’αžΆαž…αžšαŸ€αž”αž…αŸ†αž›αŸ†αžŠαžΆαž”αŸ‹αž“αŸƒαžœαžΈαžšαž—αžΆαž–αž€αž»αž˜αžΆαžšαž‘αžΎαž„αžœαž·αž‰αž”αžΆαž“ αžŠαŸ„αž™αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž’αžΌαžŸ αž“αž·αž„αž‘αž˜αŸ’αž›αžΆαž€αŸ‹ αžŠαžΌαž…αž”αž‰αŸ’αž αžΆαž€αž»αž˜αžΆαžšαžŠαŸ‚αžšαŸ” αž€αŸ’αžšαž»αž˜αž’αžΆαž…αž”αŸ’αžšαžΎαž›αŸ†αžŠαžΆαž”αŸ‹αžŠαžΎαž˜αŸ’αž”αžΈαž†αŸ’αž›αž»αŸ‡αž”αž‰αŸ’αž…αžΆαŸ†αž„αž–αžΈαž’αžΆαž‘αž·αž—αžΆαž– αž¬αž€αŸ†αžŽαžαŸ‹αž›αŸ†αžŠαžΆαž”αŸ‹αžŠαŸ‚αž›αž€αžΆαžšαž„αžΆαžšαž‚αž½αžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž…αž”αŸ‹αŸ”

GitLab 11.9 αž”αžΆαž“αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžšαž€αžƒαžΎαž‰αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž“αž·αž„αž…αŸ’αž”αžΆαž”αŸ‹αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž‡αžΆαž…αŸ’αžšαžΎαž“αŸ”
αž―αž€αžŸαžΆαžš
αž‚αŸ„αž›αž”αŸ†αžŽαž„

αžŸαžΆαžšαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž”αž‹αž˜αž€αžαžΆ αž“αž·αž„αž”αžΆαžαž€αžαžΆαž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αž“αŸ…αž›αžΎαž‚αŸαž αž‘αŸ†αž–αŸαžš αž“αž·αž„αž’αŸŠαžΈαž˜αŸ‚αž›

(αžŸαŸ’αž“αžΌαž›, αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜, αž–αž·αžŸαŸαžŸ, αž…αž»αž„αž€αŸ’αžšαŸ„αž™)

αž–αžΈαž˜αž»αž“αž™αžΎαž„αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž˜αž»αžαž„αžΆαžšαž˜αž½αž™αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αžŸαžΆαžšαž”αž‹αž˜αž€αžαžΆ αž“αž·αž„αž”αžΆαžαž€αžαžΆαž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αž”αž„αŸ’αž αžΆαž‰αž“αŸ…αž‚αŸ’αžšαž”αŸ‹αž‘αŸ†αž–αŸαžšαž“αŸ…αž€αŸ’αž“αž»αž„ GitLab αŸ” αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž‘αž‘αž½αž›αž™αŸ‰αžΆαž„αž€αž€αŸ‹αž€αŸ’αžαŸ… αž αžΎαž™αž€αŸ’αžšαž»αž˜αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžœαžΆαžŠαžΎαž˜αŸ’αž”αžΈαž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€αž–αŸαžαŸŒαž˜αžΆαž“αžŸαŸ†αžαžΆαž“αŸ‹αŸ— αžŠαžΌαž…αž‡αžΆαžŸαžΆαžšαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„αž§αž‘αžΆαž αžšαžŽαŸ GitLab αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαŸ”

αž™αžΎαž„αžšαžΈαž€αžšαžΆαž™αž€αŸ’αž“αž»αž„αž€αžΆαžšαž“αžΆαŸ†αž™αž€αž˜αž»αžαž„αžΆαžšαž“αŸαŸ‡αž‘αŸ…αž€αžΆαž“αŸ‹ Core αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž˜αž“αž»αžŸαŸ’αžŸαž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αžšαžΎαž“αž’αžΆαž…αž”αŸ’αžšαžΎαžœαžΆαž”αžΆαž“αŸ” αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡αž‘αŸ€αž αž™αžΎαž„αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž”αž„αŸ’αž αžΆαž‰αžŸαžΆαžšαžŠαžΌαž…αž‚αŸ’αž“αžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž’αŸŠαžΈαž˜αŸ‚αž›αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ‚αž›αž”αžΆαž“αž•αŸ’αž‰αžΎαžαžΆαž˜αžšαž™αŸˆ GitLab αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž—αžΆαž–αžŸαŸŠαžΈαžŸαž„αŸ’αžœαžΆαž€αŸ‹αž‚αŸ’αž“αžΆαž“αŸ…αž›αžΎαž…αŸ†αžŽαž»αž…αž”αŸ‰αŸ‡ GitLab αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αŸ”

GitLab 11.9 αž”αžΆαž“αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžšαž€αžƒαžΎαž‰αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž“αž·αž„αž…αŸ’αž”αžΆαž”αŸ‹αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž‡αžΆαž…αŸ’αžšαžΎαž“αŸ”
αž―αž€αžŸαžΆαžš
αž‚αŸ„αž›αž”αŸ†αžŽαž„

αžαŸ’αžšαž„αžαžΆαž˜αž€αž·αž…αŸ’αž…αž€αžΆαžšαžŸαž˜αŸ’αž„αžΆαžαŸ‹

(αžŸαŸ’αž“αžΌαž›, αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜, αž–αž·αžŸαŸαžŸ, αž…αž»αž„αž€αŸ’αžšαŸ„αž™, αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒ, αžŸαŸ†αžšαž·αž‘αŸ’αž’, αž”αŸ’αžšαžΆαž€αŸ‹, មអស)

αž”αž‰αŸ’αž αžΆαžŸαž˜αŸ’αž„αžΆαžαŸ‹αž‚αžΊαž‡αžΆαž§αž”αž€αžšαžŽαŸαžŠαŸαž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αŸ’αžšαž»αž˜αžŠαžΎαž˜αŸ’αž”αžΈαž”αžΎαž€αž€αžΆαžšαž–αž·αž—αžΆαž€αŸ’αžŸαžΆαž―αž€αž‡αž“αž›αžΎαž”αŸ’αžšαž’αžΆαž“αž”αž‘αžšαžŸαžΎαž”αž“αŸ…αž€αŸ’αž“αž»αž„αž‚αž˜αŸ’αžšαŸ„αž„αž”αžΎαž€αž…αŸ†αž αž˜αž½αž™αŸ” αž‡αžΆαž–αž·αžŸαŸαžŸ αž–αž½αž€αž‚αŸαž‚αžΊαž›αŸ’αž’αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αžœαžΎαž€αžΆαžšαž›αžΎαž—αžΆαž–αž„αžΆαž™αžšαž„αž‚αŸ’αžšαŸ„αŸ‡αž•αŸ’αž“αŸ‚αž€αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αŸ” αžšαž αžΌαžαž˜αž€αžŠαž›αŸ‹αž–αŸαž›αž“αŸαŸ‡ αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αž·αž…αŸ’αž…αž€αžΆαžšαžšαžŸαžΎαž”αž˜αž·αž“αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž“αŸ„αŸ‡αž‘αŸαŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 11.9 αž”αž‰αŸ’αž‡αžΈαž”αž‰αŸ’αž αžΆ GitLab αž₯αž‘αžΌαžœαž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αžαŸ’αžšαž„αžŠαŸ„αž™αž”αž‰αŸ’αž αžΆαžšαžŸαžΎαž” αž¬αž˜αž·αž“αžšαžŸαžΎαž”αŸ” αž“αŸαŸ‡αž€αŸαž’αž“αž»αžœαžαŸ’αžαž…αŸ†αž–αŸ„αŸ‡αž€αžΆαžšαžŸαŸ’αžœαŸ‚αž„αžšαž€αž—αžΆαžšαž€αž·αž…αŸ’αž…αžŠαŸ„αž™αž”αŸ’αžšαžΎ API αž•αž„αžŠαŸ‚αžšαŸ”

αžŸαžΌαž˜αž’αžšαž‚αž»αžŽαžŠαž›αŸ‹ Robert Schilling αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž…αžΌαž›αžšαž½αž˜αž…αŸ†αžŽαŸ‚αž€αžšαž”αžŸαŸ‹αž‚αžΆαžαŸ‹αŸ”αž›αŸ„αž€ Robert Schilling)!

GitLab 11.9 αž”αžΆαž“αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžšαž€αžƒαžΎαž‰αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž“αž·αž„αž…αŸ’αž”αžΆαž”αŸ‹αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž‡αžΆαž…αŸ’αžšαžΎαž“αŸ”
αž―αž€αžŸαžΆαžš
αž‚αŸ„αž›αž”αŸ†αžŽαž„

αž€αžΆαžšαž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›αžŠαŸ‚αž“ Knative αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž€αžΆαžšαžŠαžΆαž€αŸ‹αž±αŸ’αž™αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹

(αžŸαŸ’αž“αžΌαž›, αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜, αž–αž·αžŸαŸαžŸ, αž…αž»αž„αž€αŸ’αžšαŸ„αž™, αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒ, αžŸαŸ†αžšαž·αž‘αŸ’αž’, αž”αŸ’αžšαžΆαž€αŸ‹, មអស)

αž€αžΆαžšαž”αž‰αŸ’αž‡αžΆαž€αŸ‹αžŠαŸ‚αž“αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αž“αŸ…αž–αŸαž›αžŠαŸ†αž‘αžΎαž„ Knative αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž”αž˜αŸ’αžšαžΎαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ/αž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸαž•αŸ’αžŸαŸαž„αŸ—αžŠαŸ‚αž›αž˜αž·αž“αž˜αžΆαž“αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž–αžΈαž…αŸ†αžŽαž»αž…αž”αž‰αŸ’αž…αž”αŸ‹αžαŸ‚αž˜αž½αž™αž‚αžαŸ‹αŸ”

αž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž› Kubernetes αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab αž₯αž‘αžΌαžœαž“αŸαŸ‡αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžš/αž’αžΆαž”αŸ‹αžŠαŸαžαžŠαŸ‚αž“αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™ Knative αž‘αŸ…αž€αŸ’αžšαž»αž˜ Kubernetes αŸ”

αž―αž€αžŸαžΆαžš
αž‚αŸ„αž›αž”αŸ†αžŽαž„

αž€αŸ†αž–αž»αž„αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž‘αž˜αŸ’αžšαž„αŸ‹αžœαž·αž‰αŸ’αž‰αžΆαž”αž“αž”αžαŸ’αžš Kubernetes CA

(αžŸαŸ’αž“αžΌαž›, αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜, αž–αž·αžŸαŸαžŸ, αž…αž»αž„αž€αŸ’αžšαŸ„αž™, αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒ, αžŸαŸ†αžšαž·αž‘αŸ’αž’, αž”αŸ’αžšαžΆαž€αŸ‹, មអស)

αž“αŸ…αž–αŸαž›αž”αž“αŸ’αžαŸ‚αž˜αž€αŸ’αžšαž»αž˜ Kubernetes αžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžšαžΆαž”αŸ‹ αž₯αž‘αžΌαžœαž“αŸαŸ‡ GitLab αž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αžαžΆαžœαž·αž‰αŸ’αž‰αžΆαž”αž“αž”αžαŸ’αžš CA αžŠαŸ‚αž›αž”αžΆαž“αž”αž‰αŸ’αž…αžΌαž›αž‚αžΊαž“αŸ…αž€αŸ’αž“αž»αž„αž‘αž˜αŸ’αžšαž„αŸ‹ PEM αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαŸ” αžœαžΆαž›αž»αž”αž”αŸ†αž”αžΆαžαŸ‹αž€αŸ†αž αž»αžŸαžŠαŸ‚αž›αž’αžΆαž…αž€αžΎαžαž˜αžΆαž“αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž› Kubernetes αŸ”

αž―αž€αžŸαžΆαžš
αž‚αŸ„αž›αž”αŸ†αžŽαž„

αž–αž„αŸ’αžšαžΈαž€αž§αž”αž€αžšαžŽαŸαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž”αŸ’αžšαŸ€αž”αž’αŸ€αž”αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž‘αŸ…αž―αž€αžŸαžΆαžšαž‘αžΆαŸ†αž„αž˜αžΌαž›

(αžŸαŸ’αž“αžΌαž›, αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜, αž–αž·αžŸαŸαžŸ, αž…αž»αž„αž€αŸ’αžšαŸ„αž™, αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒ, αžŸαŸ†αžšαž·αž‘αŸ’αž’, αž”αŸ’αžšαžΆαž€αŸ‹, មអស)

αž“αŸ…αž–αŸαž›αž˜αžΎαž›αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž…αŸ†αž–αŸ„αŸ‡αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆ αž₯αž‘αžΌαžœαž“αŸαŸ‡αž’αŸ’αž“αž€αž’αžΆαž…αž–αž„αŸ’αžšαžΈαž€αž§αž”αž€αžšαžŽαŸαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžαž»αžŸαž‚αŸ’αž“αžΆαž“αŸ…αž›αžΎαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž―αž€αžŸαžΆαžšαž“αžΈαž˜αž½αž™αŸ— αžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž αžΆαž‰αž―αž€αžŸαžΆαžšαž‘αžΆαŸ†αž„αž˜αžΌαž›αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αžšαž·αž”αž‘αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αž αž αžΎαž™αž‘αž»αž€αž˜αžαž·αž™αŸ„αž”αž›αŸ‹αž›αžΎαž”αž“αŸ’αž‘αžΆαžαŸ‹αžŠαŸ‚αž›αž˜αž·αž“αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαŸ”

GitLab 11.9 αž”αžΆαž“αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžšαž€αžƒαžΎαž‰αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž“αž·αž„αž…αŸ’αž”αžΆαž”αŸ‹αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž‡αžΆαž…αŸ’αžšαžΎαž“αŸ”
αž―αž€αžŸαžΆαžš
αž‚αŸ„αž›αž”αŸ†αžŽαž„

αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž„αžΆαžšαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαžαŸ‚αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž―αž€αžŸαžΆαžšαž˜αž½αž™αž…αŸ†αž“αž½αž“αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžš

(αžŸαŸ’αž“αžΌαž›, αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜, αž–αž·αžŸαŸαžŸ, αž…αž»αž„αž€αŸ’αžšαŸ„αž™, αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒ, αžŸαŸ†αžšαž·αž‘αŸ’αž’, αž”αŸ’αžšαžΆαž€αŸ‹, មអស)

GitLab 11.6 αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹ only: merge_requests αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž„αžΆαžšαž”αŸ†αž–αž„αŸ‹ αžŠαžΎαž˜αŸ’αž”αžΈαž±αŸ’αž™αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αžΆαž…αž’αž“αž»αžœαžαŸ’αžαž€αžΆαžšαž„αžΆαžšαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž”αžΆαž“αžαŸ‚αž“αŸ…αž–αŸαž›αž”αž„αŸ’αž€αžΎαžαžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ”

αž₯αž‘αžΌαžœαž“αŸαŸ‡αž™αžΎαž„αž€αŸ†αž–αž»αž„αž–αž„αŸ’αžšαžΈαž€αž˜αž»αžαž„αžΆαžšαž“αŸαŸ‡αŸ– αžαž€αŸ’αž€αžœαž·αž‡αŸ’αž‡αžΆαž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜ only: changesαž αžΎαž™β€‹αž’αŸ’αž“αž€β€‹αž”αŸ’αžšαžΎβ€‹αž’αžΆαž…β€‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·β€‹αž€αžΆαžšαž„αžΆαžšβ€‹αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹β€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αžαŸ‚β€‹αžŸαŸ†αžŽαžΎβ€‹αž”αž‰αŸ’αž…αžΌαž›β€‹αž‚αŸ’αž“αžΆβ€‹αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡ αž αžΎαž™β€‹αž“αŸ…β€‹αž–αŸαž›β€‹αžŠαŸ‚αž›β€‹αž―αž€αžŸαžΆαžšβ€‹αž˜αž½αž™β€‹αž…αŸ†αž“αž½αž“β€‹αž•αŸ’αž›αžΆαžŸαŸ‹β€‹αž”αŸ’αžαžΌαžšαŸ”

αžŸαžΌαž˜αž’αžšαž‚αž»αžŽαž…αŸ†αž–αŸ„αŸ‡αž€αžΆαžšαžšαž½αž˜αž…αŸ†αžŽαŸ‚αž€αžšαž”αžŸαŸ‹ Hiroyuki Sato (αž αŸŠαžΈαžšαŸ‰αžΌαž™αžΌαž‚αžΈ សអតូ)!

αž―αž€αžŸαžΆαžš
αž‚αŸ„αž›αž”αŸ†αžŽαž„

αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™ GitLab αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž‡αžΆαž˜αž½αž™ Grafana

(αžŸαŸ’αž“αžΌαž›, αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜, αž–αž·αžŸαŸαžŸ, αž…αž»αž„αž€αŸ’αžšαŸ„αž™)

αž₯αž‘αžΌαžœαž“αŸαŸ‡ Grafana αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž‰αŸ’αž…αž”αŸ‹ Omnibus αžšαž”αžŸαŸ‹αž™αžΎαž„ αžŠαŸ‚αž›αž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαž€αžΆαž“αŸ‹αžαŸ‚αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž™αž›αŸ‹αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž› instance αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ”

αž”αŸ’αžŠαžΌαžšαžαžΆαž˜αž”αŸ†αžŽαž„ grafana['enable'] = true Π² gitlab.rbαž αžΎαž™ Grafana αž“αžΉαž„αž˜αžΆαž“αž“αŸ…αŸ– https://your.gitlab.instance/-/grafana. αž“αžΆαž–αŸαž›αžαžΆαž„αž˜αž»αž αž™αžΎαž„αž€αŸαž“αžΉαž„αžŠαŸ‚αžšαŸ” αžŸαžΌαž˜αžŽαŸ‚αž“αžΆαŸ†αžšαž”αžΆαžšαž§αž”αž€αžšαžŽαŸ GitLab "αž–αžΈαž”αŸ’αžšαž’αž”αŸ‹" αŸ”

αž―αž€αžŸαžΆαžš
αž‚αŸ„αž›αž”αŸ†αžŽαž„

αž˜αžΎαž›αžœαžΈαžšαž—αžΆαž–αž…αž˜αŸ’αž”αž„αž“αŸ…αž€αŸ’αž“αž»αž„αžšαž”αžΆαžšαž…αŸ†αž αŸ€αž„αžœαžΈαžšαž—αžΆαž–

(αž…αž»αž„αž€αŸ’αžšαŸ„αž™ មអស)

αžαŸ’αž˜αžΈαŸ—β€‹αž“αŸαŸ‡β€‹αž™αžΎαž„β€‹αž”αžΆαž“β€‹αžŽαŸ‚αž“αžΆαŸ† αžœαžΈαžšαž—αžΆαž–αž€αž»αž˜αžΆαžšαž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž”αŸ’αžšαžΎαžœαžΈαžšαž—αžΆαž–αž“αŸƒαžœαžΈαžšαž—αžΆαž–αŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 11.9 αž™αžΎαž„αž”αžΆαž“αž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαž€αžΆαž“αŸ‹αžαŸ‚αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž€αŸ’αž“αž»αž„αž€αžΆαžšαž˜αžΎαž›αž‘αŸ†αž“αžΆαž€αŸ‹αž‘αŸ†αž“αž„αž“αŸαŸ‡αŸ” αž₯αž‘αžΌαžœαž“αŸαŸ‡ αž’αŸ’αž“αž€αž’αžΆαž…αž˜αžΎαž›αžƒαžΎαž‰αž˜αž·αž“αžαŸ’αžšαžΉαž˜αžαŸ‚αžœαžΈαžšαž—αžΆαž–αž˜αŸ’αžαžΆαž™αž“αŸƒαžœαžΈαžšαž—αžΆαž–αžŠαŸ‚αž›αž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž±αŸ’αž™αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αž‘αŸ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž˜αŸ‚αž€αž’αžΆαž„αžœαžΈαžšαž—αžΆαž–αž‘αžΆαŸ†αž„αž˜αžΌαž›αž“αŸ…αž€αŸ’αž“αž»αž„αžšαž”αžΆαžšαž…αŸ†αž αŸ€αž„αž“αŸ…αžαžΆαž„αžŸαŸ’αžαžΆαŸ†αŸ” αž’αŸ’αž“αž€αž’αžΆαž…αž˜αžΎαž›αžαžΆαžαžΎαžœαžΈαžšαž—αžΆαž–αž‘αžΆαŸ†αž„αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž·αž‘αž¬αž’αžαŸ‹ αž αžΎαž™αž’αŸ’αž“αž€αž€αŸαž’αžΆαž…αž…αžΌαž›αž‘αŸ…αžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹αž•αž„αžŠαŸ‚αžšαŸ”

GitLab 11.9 αž”αžΆαž“αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžšαž€αžƒαžΎαž‰αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž“αž·αž„αž…αŸ’αž”αžΆαž”αŸ‹αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž‡αžΆαž…αŸ’αžšαžΎαž“αŸ”
αž―αž€αžŸαžΆαžš
αž‚αŸ„αž›αž”αŸ†αžŽαž„

αž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αž€αž·αž…αŸ’αž…αž€αžΆαžšαžαŸ’αž˜αžΈαž–αžΈαž€αž·αž…αŸ’αž…αž€αžΆαžšαžŠαŸ‚αž›αž”αžΆαž“αž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈ αž“αž·αž„αž”αž·αž‘

(αžŸαŸ’αž“αžΌαž›, αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜, αž–αž·αžŸαŸαžŸ, αž…αž»αž„αž€αŸ’αžšαŸ„αž™, αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒ, αžŸαŸ†αžšαž·αž‘αŸ’αž’, αž”αŸ’αžšαžΆαž€αŸ‹, មអស)

αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab αž’αŸ’αž“αž€αž’αžΆαž…αž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈαž”αž‰αŸ’αž αžΆαž‘αŸ…αž‚αž˜αŸ’αžšαŸ„αž„αž˜αž½αž™αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž”αžΆαž“αž™αŸ‰αžΆαž„αž„αžΆαž™αžŸαŸ’αžšαž½αž›αžŠαŸ„αž™αž”αŸ’αžšαžΎαžšαž”αžΆαžšαž…αŸ†αž αŸ€αž„ αž¬αžŸαž€αž˜αŸ’αž˜αž—αžΆαž–αžšαž αŸαžŸαŸ” αž“αŸ…αž–αžΈαž€αŸ’αžšαŸ„αž™αž†αžΆαž€ αž€αž·αž…αŸ’αž…αž€αžΆαžšαžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžšαžΆαž”αŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž·αž‘ αž αžΎαž™αž€αž·αž…αŸ’αž…αž€αžΆαžšαžαŸ’αž˜αžΈαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž“αŸ…αž€αŸ’αž“αž»αž„αž‚αž˜αŸ’αžšαŸ„αž„αž‚αŸ„αž›αžŠαŸ…αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž”αžΆαž“αž…αž˜αŸ’αž›αž„αž‘αžΆαŸ†αž„αž’αžŸαŸ‹ αžšαž½αž˜αž‘αžΆαŸ†αž„αž€αŸ†αžŽαžαŸ‹αž…αŸ†αžŽαžΆαŸ†αž”αŸ’αžšαž–αŸαž“αŸ’αž’ αž“αž·αž„αž‚αž»αžŽαž›αž€αŸ’αžαžŽαŸˆαžšαž”αžΆαžšαž…αŸ†αž αŸ€αž„αŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸαžŠαŸαž’αžŸαŸ’αž…αžΆαžšαŸ’αž™αž˜αž½αž™αŸ”

αžŠαŸ„αž™αžŸαžΆαžšαž˜αžΆαž“αž€αŸ†αžŽαžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž’αŸ†αž–αžΈαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈ αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž“αŸ…αž–αŸαž›αž˜αžΎαž›αž€αž·αž…αŸ’αž…αž€αžΆαžšαž”αž·αž‘αž‚αžΊαž˜αžΆαž“αž€αžΆαžšαž—αŸαž“αŸ’αžαž…αŸ’αžšαž‘αŸ† αž“αž·αž„αž˜αž·αž“αž’αžΆαž…αž‡αž½αž™αž”αžΆαž“ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžŠαžΉαž„αžαžΆαž€αž·αž…αŸ’αž…αž€αžΆαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž·αž‘αžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈαŸ”

αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž“αŸαŸ‡ αž™αžΎαž„αž€αŸ†αž–αž»αž„αž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαž…αŸ’αž”αžΆαžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αžšαžΌαž”αžαŸ†αžŽαžΆαž„αž“αŸ…αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž›αžΎαž“αŸƒαž‘αŸ†αž–αŸαžšαž”αž‰αŸ’αž αžΆαž”αž·αž‘αžŠαŸ‚αž›αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈ αž αžΎαž™αž™αžΎαž„αž€αŸαž€αŸ†αž–αž»αž„αž”αž‰αŸ’αž…αžΌαž›αžαŸ†αžŽαž—αŸ’αž‡αžΆαž”αŸ‹αžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž€αž”αŸ‹αž‘αŸ…αž”αž‰αŸ’αž αžΆαžαŸ’αž˜αžΈαž•αž„αžŠαŸ‚αžš αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž’αŸ’αž“αž€αžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹αžŠαŸ‚αž›αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαž”αž‰αŸ’αž αžΆαž…αžΆαžŸαŸ‹αž’αžΆαž…αž™αŸ‰αžΆαž„αž†αžΆαž”αŸ‹αžšαž αŸαžŸαŸ” αžšαž»αž€αžšαž€αž‘αŸ…αžαŸ’αž˜αžΈαŸ”

GitLab 11.9 αž”αžΆαž“αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžšαž€αžƒαžΎαž‰αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž“αž·αž„αž…αŸ’αž”αžΆαž”αŸ‹αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž‡αžΆαž…αŸ’αžšαžΎαž“αŸ”
αž―αž€αžŸαžΆαžš
αž‚αŸ„αž›αž”αŸ†αžŽαž„

αž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž› YouTrack

(αžŸαŸ’αž“αžΌαž›, αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜, αž–αž·αžŸαŸαžŸ, αž…αž»αž„αž€αŸ’αžšαŸ„αž™, αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒ, αžŸαŸ†αžšαž·αž‘αŸ’αž’, αž”αŸ’αžšαžΆαž€αŸ‹, មអស)

GitLab αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‡αžΆαž˜αž½αž™αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžαžΆαž˜αžŠαžΆαž“αž”αž‰αŸ’αž αžΆαžαžΆαž„αž€αŸ’αžšαŸ…αž‡αžΆαž…αŸ’αžšαžΎαž“ αžŠαŸ‚αž›αž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαž˜αžΆαž“αž—αžΆαž–αž„αžΆαž™αžŸαŸ’αžšαž½αž›αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αŸ’αžšαž»αž˜αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ GitLab αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αž»αžαž„αžΆαžšαž•αŸ’αžŸαŸαž„αž‘αŸ€αž αžαžŽαŸˆαž–αŸαž›αžŠαŸ‚αž›αžšαž€αŸ’αžŸαžΆαž”αžΆαž“αž“αžΌαžœαž‡αž˜αŸ’αžšαžΎαžŸαž“αŸƒαž‡αž˜αŸ’αžšαžΎαžŸαž“αŸƒαž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž”αž‰αŸ’αž αžΆαžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž“αŸαŸ‡ αž™αžΎαž„αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž› YouTrack αž–αžΈ JetBrains αŸ”
αž™αžΎαž„αžŸαžΌαž˜αžαŸ’αž›αŸ‚αž„αž’αŸ†αžŽαžšαž‚αž»αžŽαžŠαž›αŸ‹ Kotau Jauchen αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžšαž½αž˜αž…αŸ†αžŽαŸ‚αž€αžšαž”αžŸαŸ‹αž‚αžΆαžαŸ‹ (Kotau Yauhen)!

GitLab 11.9 αž”αžΆαž“αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžšαž€αžƒαžΎαž‰αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž“αž·αž„αž…αŸ’αž”αžΆαž”αŸ‹αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž‡αžΆαž…αŸ’αžšαžΎαž“αŸ”
αž―αž€αžŸαžΆαžš
αž‚αŸ„αž›αž”αŸ†αžŽαž„

αž”αŸ’αžαžΌαžšαž‘αŸ†αž αŸ†αž˜αŸ‚αž€αž’αžΆαž„αž―αž€αžŸαžΆαžšαžŸαŸ’αž“αžΎαžŸαž»αŸ†αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆ

(αžŸαŸ’αž“αžΌαž›, αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜, αž–αž·αžŸαŸαžŸ, αž…αž»αž„αž€αŸ’αžšαŸ„αž™, αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒ, αžŸαŸ†αžšαž·αž‘αŸ’αž’, αž”αŸ’αžšαžΆαž€αŸ‹, មអស)

αž–αŸαž›β€‹αž˜αžΎαž›β€‹αž€αžΆαžšβ€‹αž•αŸ’αž›αžΆαžŸαŸ‹β€‹αž”αŸ’αžαžΌβ€‹αžšβ€‹αž€αžΆαžšβ€‹αž”αž‰αŸ’αž…αžΌαž›β€‹αž‚αŸ’αž“αžΆβ€‹, αž₯αž‘αžΌαžœβ€‹αž“αŸαŸ‡β€‹αž’αŸ’αž“αž€β€‹αž’αžΆαž…β€‹αž•αŸ’αž›αžΆαžŸαŸ‹β€‹αž”αŸ’αžαžΌβ€‹αžšβ€‹αž‘αŸ†αž αŸ†β€‹αž˜αŸ‚αž€αž’αžΆαž„β€‹αž―αž€αžŸαžΆαžšβ€‹αžŠαžΎαž˜αŸ’αž”αžΈβ€‹αž”αž„αŸ’αž αžΆαž‰β€‹αžˆαŸ’αž˜αŸ„αŸ‡β€‹αž―αž€αžŸαžΆαžšβ€‹αžœαŸ‚αž„β€‹αž¬β€‹αžšαž€αŸ’αžŸαžΆβ€‹αž‘αž»αž€β€‹αž‘αŸ†αž αŸ†β€‹αž“αŸ…β€‹αž›αžΎβ€‹αž’αŸαž€αŸ’αžšαž„αŸ‹β€‹αžαžΌαž…β€‹αž‡αžΆαž„β€‹αŸ”

GitLab 11.9 αž”αžΆαž“αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžšαž€αžƒαžΎαž‰αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž“αž·αž„αž…αŸ’αž”αžΆαž”αŸ‹αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž‡αžΆαž…αŸ’αžšαžΎαž“αŸ”
αž―αž€αžŸαžΆαžš
αž‚αŸ„αž›αž”αŸ†αžŽαž„

αž‘αŸ…αž€αžΆαž“αŸ‹αžšαž”αžΆαžšαž—αžΆαžšαž€αž·αž…αŸ’αž…αžαŸ’αž˜αžΈαŸ—

(STARTER, αž”αž»αž–αŸ’αžœαž›αžΆαž—, αž…αž»αž„αž€αŸ’αžšαŸ„αž™, αžŸαŸ†αžšαž·αž‘αŸ’αž’, αž”αŸ’αžšαžΆαž€αŸ‹, មអស)

αž•αŸ’αž‘αžΆαŸ†αž„αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž‚αžΊαž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαžαŸ’αž›αžΆαŸ†αž„αžŽαžΆαžŸαŸ‹ αž αžΎαž™αž€αŸ’αžšαž»αž˜αž”αž„αŸ’αž€αžΎαžαž•αŸ’αž‘αžΆαŸ†αž„αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž‡αžΆαž…αŸ’αžšαžΎαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‚αž˜αŸ’αžšαŸ„αž„ αž“αž·αž„αž€αŸ’αžšαž»αž˜αž“αžΈαž˜αž½αž™αŸ—αŸ” αžαŸ’αž˜αžΈαŸ—β€‹αž“αŸαŸ‡β€‹αž™αžΎαž„β€‹αž”αžΆαž“β€‹αž”αž“αŸ’αžαŸ‚αž˜β€‹αžšαž”αžΆαžšβ€‹αžŸαŸ’αžœαŸ‚αž„αžšαž€β€‹αžŠαžΎαž˜αŸ’αž”αžΈβ€‹αžαŸ’αžšαž„β€‹αž”αž“αŸ’αž‘αŸ‡β€‹αž‘αžΆαŸ†αž„αž’αžŸαŸ‹β€‹αžŠαŸ‚αž›β€‹αž’αŸ’αž“αž€β€‹αž…αžΆαž”αŸ‹β€‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸβ€‹αž™αŸ‰αžΆαž„β€‹αžšαž αŸαžŸαŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 11.9 αž™αžΎαž„αž€αŸαž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†αž•αŸ’αž“αŸ‚αž€αž˜αž½αž™αŸ” αžαŸ’αž˜αžΈ αž“αŸ…αž€αŸ’αž“αž»αž„αž”αž‰αŸ’αž‡αžΈαž‘αž˜αŸ’αž›αžΆαž€αŸ‹αž…αž»αŸ‡αŸ” αžœαž·αž’αžΈαž“αŸαŸ‡αž’αŸ’αž“αž€αž’αžΆαž…αž›αŸ„αžαž‘αŸ…αž€αžΆαž“αŸ‹αž•αŸ’αž‘αžΆαŸ†αž„αžŠαŸ‚αž›αž’αŸ’αž“αž€αž”αžΆαž“αž’αŸ’αžœαžΎαž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αžαŸ’αž˜αžΈαŸ—αž“αŸαŸ‡αž”αžΆαž“αž™αŸ‰αžΆαž„αž†αžΆαž”αŸ‹αžšαž αŸαžŸαŸ”

GitLab 11.9 αž”αžΆαž“αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžšαž€αžƒαžΎαž‰αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž“αž·αž„αž…αŸ’αž”αžΆαž”αŸ‹αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž‡αžΆαž…αŸ’αžšαžΎαž“αŸ”
αž―αž€αžŸαžΆαžš
αž‚αŸ„αž›αž”αŸ†αžŽαž„

αžŸαž˜αžαŸ’αžαž—αžΆαž–αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαžαžŸαžΆαžαžΆαž€αžΆαžšαž–αžΆαžš

(αžŸαŸ’αž“αžΌαž›, αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜, αž–αž·αžŸαŸαžŸ, αž…αž»αž„αž€αŸ’αžšαŸ„αž™, αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒ, αžŸαŸ†αžšαž·αž‘αŸ’αž’, αž”αŸ’αžšαžΆαž€αŸ‹, មអស)

αžŸαžΆαžαžΆαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αžΆαžšαž–αžΆαžšαžšαžΆαžšαžΆαŸ†αž„αž€αžΌαžŠαžŠαŸ‚αž›αž˜αž·αž“αž”αžΆαž“αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž–αžΈαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈ αž¬αž”αž‰αŸ’αž…αžΌαž›αž…αžΌαž›αž‚αŸ’αž“αžΆαŸ” αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž‚αŸ’αž˜αžΆαž“αž“αžšαžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈαžŸαžΆαžαžΆαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αžΆαžšαž–αžΆαžšαž‘αŸαž“αŸ„αŸ‡ αž‚αŸ’αž˜αžΆαž“αž“αžšαžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹αž’αžΆαž…αž”αž„αŸ’αž€αžΎαžαžŸαžΆαžαžΆαž€αžΆαžšαž–αžΆαžšαžαŸ’αž˜αžΈαž”αžΆαž“αž‘αŸαŸ– αž§αž‘αžΆαž αžšαžŽαŸ αžŸαžΆαžαžΆαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 11.9 αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž’αžΆαž…αž”αž„αŸ’αž€αžΎαžαžŸαžΆαžαžΆαž€αžΆαžšαž–αžΆαžšαž–αžΈαžŸαžΆαžαžΆαžŠαŸ‚αž›αž”αžΆαž“αž€αžΆαžšαž–αžΆαžšαžšαž½αž…αž αžΎαž™αžαžΆαž˜αžšαž™αŸˆ GitLab ឬ API αŸ” αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ Git αžŠαžΎαž˜αŸ’αž”αžΈαž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈαžŸαžΆαžαžΆαž€αžΆαžšαž–αžΆαžšαžαŸ’αž˜αžΈαž“αŸ…αžαŸ‚αž˜αžΆαž“αž€αž˜αŸ’αžšαž·αž αžŠαžΎαž˜αŸ’αž”αžΈαž‡αŸ€αžŸαžœαžΆαž„αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαžŸαžΆαžαžΆαž€αžΆαžšαž–αžΆαžšαžαŸ’αž˜αžΈαžŠαŸ„αž™αž…αŸƒαžŠαž“αŸ’αž™αŸ”

αž―αž€αžŸαžΆαžš
αž‚αŸ„αž›αž”αŸ†αžŽαž„

Git Object Deduplication αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Open Forks (Beta)

(αžŸαŸ’αž“αžΌαž›, αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜, αž–αž·αžŸαŸαžŸ, αž…αž»αž„αž€αŸ’αžšαŸ„αž™)

Forking αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž“αžšαžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹αž…αžΌαž›αžšαž½αž˜αž…αŸ†αžŽαŸ‚αž€αž€αŸ’αž“αž»αž„αž‚αž˜αŸ’αžšαŸ„αž„αž”αŸ’αžšαž—αž–αž”αžΎαž€αž…αŸ†αž αŸ– αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αž€αžΆαžšαž’αž“αž»αž‰αŸ’αž‰αžΆαžαž‡αžΆαž›αžΆαž™αž›αž€αŸ’αžαžŽαŸαž’αž€αŸ’αžŸαžš αžŠαŸ„αž™αž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž…αž˜αŸ’αž›αž„αžƒαŸ’αž›αžΆαŸ†αž„αž‘αŸ…αž€αŸ’αž“αž»αž„αž‚αž˜αŸ’αžšαŸ„αž„αžαŸ’αž˜αžΈαŸ” αž€αžΆαžšαžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž…αŸ’αž”αžΆαž”αŸ‹αž…αž˜αŸ’αž›αž„αž–αŸαž‰αž›αŸαž‰αž“αŸƒαžƒαŸ’αž›αžΆαŸ†αž„ Git αžŠαŸ‚αž› forked αž‰αžΉαž€αž‰αžΆαž”αŸ‹αž‚αžΊαž˜αž·αž“αž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž‘αŸαŸ” αž₯αž‘αžΌαžœαž“αŸαŸ‡αž‡αžΆαž˜αž½αž™ Git alternatives forks αž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€αžœαžαŸ’αžαž»αž‘αžΌαž‘αŸ…αž–αžΈαž‚αž˜αŸ’αžšαŸ„αž„αž˜αŸαž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ’αžšαž»αž˜αžœαžαŸ’αžαž» αžŠαžΎαž˜αŸ’αž”αžΈαž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαž•αŸ’αž‘αž»αž€αžαžΆαžŸαŸ”

Fork object pools αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ‚αž‚αž˜αŸ’αžšαŸ„αž„αž”αžΎαž€αž…αŸ†αž  αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž€αž“αŸ’αž›αŸ‚αž„αž•αŸ’αž‘αž»αž€ hashed αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αžΎαž€αŸ” αž”αžŽαŸ’αžαž»αŸ†αžœαžαŸ’αžαž»αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αžΎαž€αžŠαŸ„αž™αž”αŸ’αžšαžΎαž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž˜αž»αžαž„αžΆαžš object_pools.

αž―αž€αžŸαžΆαžš
αžœαžΈαžšαž—αžΆαž–

αžαŸ’αžšαž„αž”αž‰αŸ’αž‡αžΈαž“αŸƒαžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαžŠαŸ„αž™αž’αŸ’αž“αž€αž’αž“αž»αž˜αŸαžαžŠαŸ‚αž›αž”αžΆαž“αž…αžΆαžαŸ‹αžαžΆαŸ†αž„

(STARTER, αž”αž»αž–αŸ’αžœαž›αžΆαž—, αž…αž»αž„αž€αŸ’αžšαŸ„αž™, αžŸαŸ†αžšαž·αž‘αŸ’αž’, αž”αŸ’αžšαžΆαž€αŸ‹, មអស)

αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž€αžΌαžŠαž‚αžΊαž‡αžΆαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž‘αžΌαž‘αŸ…αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‚αž˜αŸ’αžšαŸ„αž„αž‡αŸ„αž‚αž‡αŸαž™αžŽαžΆαž˜αž½αž™ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžœαžΆαž’αžΆαž…αž–αž·αž”αžΆαž€αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž€αŸ’αž“αž»αž„αž€αžΆαžšαžαžΆαž˜αžŠαžΆαž“αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 11.9 αž”αž‰αŸ’αž‡αžΈαž“αŸƒαžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αžαŸ’αžšαž„αžŠαŸ„αž™αž’αŸ’αž“αž€αž™αž›αŸ‹αž–αŸ’αžšαž˜αžŠαŸ‚αž›αž”αžΆαž“αž…αžΆαžαŸ‹αžαžΆαŸ†αž„αŸ” αžœαž·αž’αžΈαž“αŸαŸ‡αž’αŸ’αž“αž€αž’αžΆαž…αžŸαŸ’αžœαŸ‚αž„αžšαž€αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαžŠαŸ‚αž›αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ…αž’αŸ’αž“αž€αž‡αžΆαž’αŸ’αž“αž€αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αŸ”
αžŸαžΌαž˜αž’αžšαž‚αž»αžŽαžŠαž›αŸ‹ Glewin Wiechert αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžšαž½αž˜αž…αŸ†αžŽαŸ‚αž€αžšαž”αžŸαŸ‹αž‚αžΆαžαŸ‹ (Glavin Wiechert)!

GitLab 11.9 αž”αžΆαž“αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžšαž€αžƒαžΎαž‰αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž“αž·αž„αž…αŸ’αž”αžΆαž”αŸ‹αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž‡αžΆαž…αŸ’αžšαžΎαž“αŸ”
αž―αž€αžŸαžΆαžš
αž‚αŸ„αž›αž”αŸ†αžŽαž„

αž•αŸ’αž›αžΌαžœαž€αžΆαžαŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž―αž€αžŸαžΆαžšαž”αž“αŸ’αž‘αžΆαž”αŸ‹ αž“αž·αž„αž˜αž»αž“αž€αŸ’αž“αž»αž„αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆ

(αžŸαŸ’αž“αžΌαž›, αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜, αž–αž·αžŸαŸαžŸ, αž…αž»αž„αž€αŸ’αžšαŸ„αž™, αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒ, αžŸαŸ†αžšαž·αž‘αŸ’αž’, αž”αŸ’αžšαžΆαž€αŸ‹, មអស)

αžαžŽαŸˆαž–αŸαž›αž€αŸ†αž–αž»αž„αž˜αžΎαž›αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž…αŸ†αž–αŸ„αŸ‡αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆ αž’αŸ’αž“αž€αž’αžΆαž…αž”αŸ’αžαžΌαžšαžšαžœαžΆαž„αž―αž€αžŸαžΆαžšαž”αžΆαž“αž™αŸ‰αžΆαž„αž†αžΆαž”αŸ‹αžšαž αŸαžŸαžŠαŸ„αž™αž”αŸ’αžšαžΎ ]ឬ j αžŠαžΎαž˜αŸ’αž”αžΈαž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈαž‘αŸ…αž―αž€αžŸαžΆαžšαž”αž“αŸ’αž‘αžΆαž”αŸ‹ αž“αž·αž„ [ ឬ k αžŠαžΎαž˜αŸ’αž”αžΈαž…αžΌαž›αž‘αŸ…αž€αžΆαž“αŸ‹αž―αž€αžŸαžΆαžšαž˜αž»αž“αŸ”

αž―αž€αžŸαžΆαžš
αž‚αŸ„αž›αž”αŸ†αžŽαž„

αž—αžΆαž–αžŸαžΆαž˜αž‰αŸ’αž‰ .gitlab-ci.yml αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‚αž˜αŸ’αžšαŸ„αž„αž‚αŸ’αž˜αžΆαž“αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ

(αžŸαŸ’αž“αžΌαž›, αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜, αž–αž·αžŸαŸαžŸ, αž…αž»αž„αž€αŸ’αžšαŸ„αž™, αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒ, αžŸαŸ†αžšαž·αž‘αŸ’αž’, αž”αŸ’αžšαžΆαž€αŸ‹, មអស)

αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αž“αŸ…αž›αžΎαž˜αž»αžαž„αžΆαžš include GitLab CI, αž‚αŸ†αžšαžΌαž‚αŸ’αž˜αžΆαž“αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ gitlab-ci.yml αžŸαžΆαž˜αž‰αŸ’αž‰αžŽαžΆαžŸαŸ‹αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαžŽαŸ‚αž“αžΆαŸ†αž˜αž»αžαž„αžΆαžšαžαŸ’αž˜αžΈαŸ—αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž“αžΆαž–αŸαž›αž’αž“αžΆαž‚αž αž’αŸ’αž“αž€αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž’αŸ’αžœαžΎαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž―αž€αžŸαžΆαžšαž“αŸαŸ‡αž‘αŸαŸ”

αž―αž€αžŸαžΆαžš
αž‚αŸ„αž›αž”αŸ†αžŽαž„

αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžˆαŸ’αž˜αŸ„αŸ‡αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“ Ingress

(αžŸαŸ’αž“αžΌαž›, αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜, αž–αž·αžŸαŸαžŸ, αž…αž»αž„αž€αŸ’αžšαŸ„αž™, αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒ, αžŸαŸ†αžšαž·αž‘αŸ’αž’, αž”αŸ’αžšαžΆαž€αŸ‹, មអស)

αž“αŸ…αž–αŸαž›αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αž§αž”αž€αžšαžŽαŸαž”αž‰αŸ’αž‡αžΆ Kubernetes Ingress αžœαŸαž‘αž·αž€αžΆαž˜αž½αž™αž…αŸ†αž“αž½αž“αžαŸ’αžšαž‘αž”αŸ‹αž‘αŸ…αž’αžΆαžŸαž™αžŠαŸ’αž‹αžΆαž“ IP (αž§αž‘αžΆαž αžšαžŽαŸ GKE αžšαž”αžŸαŸ‹ Google) αžαžŽαŸˆαž–αŸαž›αžŠαŸ‚αž›αž’αŸ’αž“αž€αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαžαŸ’αžšαž‘αž”αŸ‹αž‘αŸ…αžˆαŸ’αž˜αŸ„αŸ‡ DNS (αž§αž‘αžΆαž αžšαžŽαŸ AWS's EKS)αŸ”

αžŸαž˜αžΆαž αžšαžŽαž€αž˜αŸ’αž˜ Kubernetes αžšαž”αžŸαŸ‹αž™αžΎαž„αž₯αž‘αžΌαžœαž“αŸαŸ‡αž‚αžΆαŸ†αž‘αŸ’αžšαž”αŸ’αžšαž—αŸαž‘αž‘αžΆαŸ†αž„αž–αžΈαžšαž“αŸƒαž…αŸ†αžŽαž»αž…αž”αž‰αŸ’αž…αž”αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αž„αŸ’αž αžΆαž‰αž“αŸ…αž€αŸ’αž“αž»αž„αž•αŸ’αž“αŸ‚αž€ clusters αž‚αž˜αŸ’αžšαŸ„αž„αŸ”

αžŸαžΌαž˜αž’αžšαž‚αž»αžŽαžŠαž›αŸ‹ Aaron Walker αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžšαž½αž˜αž…αŸ†αžŽαŸ‚αž€αžšαž”αžŸαŸ‹αž‚αžΆαžαŸ‹ (Aaron Walker)!

αž―αž€αžŸαžΆαžš
αž‚αŸ„αž›αž”αŸ†αžŽαž„

αž€αžΆαžšαžŠαžΆαž€αŸ‹αž€αž˜αŸ’αžšαž·αžαž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎ JupyterHub αž‘αŸ…αž€αžΆαž“αŸ‹αžŸαž˜αžΆαž‡αž·αž€αž€αŸ’αžšαž»αž˜/αž‚αž˜αŸ’αžšαŸ„αž„αžαŸ‚αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡

(αžŸαŸ’αž“αžΌαž›, αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜, αž–αž·αžŸαŸαžŸ, αž…αž»αž„αž€αŸ’αžšαŸ„αž™, αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒ, αžŸαŸ†αžšαž·αž‘αŸ’αž’, αž”αŸ’αžšαžΆαž€αŸ‹, មអស)

αž€αžΆαžšαžŠαžΆαž€αŸ‹αž±αŸ’αž™αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ JupyterHub αžŠαŸ„αž™αž”αŸ’αžšαžΎαž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž› Kubernetes αžšαž”αžŸαŸ‹ GitLab αž‚αžΊαž‡αžΆαžœαž·αž’αžΈαžŠαŸαž›αŸ’αž’αž˜αž½αž™αž€αŸ’αž“αž»αž„αž€αžΆαžšαžαŸ‚αžšαž€αŸ’αžŸαžΆ αž“αž·αž„αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ Jupyter Notebooks αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ’αžšαž»αž˜αž’αŸ†αŸ” αžœαžΆαž€αŸαž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž•αž„αžŠαŸ‚αžšαž€αŸ’αž“αž»αž„αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαž–αž½αž€αžœαžΆαž“αŸ…αž–αŸαž›αž”αž‰αŸ’αž‡αžΌαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž¬αž‘αž·αž“αŸ’αž“αž“αŸαž™αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 11.9 αžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αž€αžšαžŽαžΈ JupyterHub αžŠαŸ‚αž›αžŠαžΆαž€αŸ‹αž±αŸ’αž™αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžαžΆαž˜αžšαž™αŸˆ Kubernetes αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αž…αŸ†αž–αŸ„αŸ‡αžŸαž˜αžΆαž‡αž·αž€αž‚αž˜αŸ’αžšαŸ„αž„αžŠαŸ‚αž›αž˜αžΆαž“αžŸαž·αž‘αŸ’αž’αž·αž…αžΌαž›αž”αŸ’αžšαžΎαž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸ (αžαžΆαž˜αžšαž™αŸˆαž€αŸ’αžšαž»αž˜ αž¬αž‚αž˜αŸ’αžšαŸ„αž„)αŸ”

αž―αž€αžŸαžΆαžš
αž‚αŸ„αž›αž”αŸ†αžŽαž„

αž‡αž½αžšαž–αŸαž›αžœαŸαž›αžΆαžŠαŸ‚αž›αž’αžΆαž…αž”αŸ’αžŠαžΌαžšαžαžΆαž˜αž”αŸ†αžŽαž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‚αŸ’αžšαŸ„αž„αž€αžΆαžšαžŽαŸαž”αž“αŸ’αž‘αŸ‡αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–

(αž…αž»αž„αž€αŸ’αžšαŸ„αž™ មអស)

Team Security Dashboard αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž•αŸ‚αž“αž‘αžΈαž—αžΆαž–αž„αžΆαž™αžšαž„αž‚αŸ’αžšαŸ„αŸ‡ αžŠαžΎαž˜αŸ’αž”αžΈαž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž‘αž·αžŠαŸ’αž‹αž—αžΆαž–αž‘αžΌαž‘αŸ…αž“αŸƒαžŸαŸ’αžαžΆαž“αž—αžΆαž–αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž“αŸƒαž‚αž˜αŸ’αžšαŸ„αž„αžšαž”αžŸαŸ‹αž€αŸ’αžšαž»αž˜αŸ” αžœαžΆαž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαžŽαžΆαžŸαŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž“αžΆαž™αž€αžŸαž“αŸ’αžαž·αžŸαž»αžαž€αŸ’αž“αž»αž„αž€αžΆαžšαžšαŸ€αž”αž…αŸ†αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž“αž·αž„αž™αž›αŸ‹αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αž€αŸ’αžšαž»αž˜αž€αžΆαžšαž„αžΆαžšαž’αŸ’αžœαžΎαž€αžΆαžšαŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 11.9 αž₯αž‘αžΌαžœαž“αŸαŸ‡ αž’αŸ’αž“αž€αž’αžΆαž…αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž…αž“αŸ’αž›αŸ„αŸ‡αž–αŸαž›αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž•αŸ‚αž“αž‘αžΈαž—αžΆαž–αž„αžΆαž™αžšαž„αž‚αŸ’αžšαŸ„αŸ‡αž“αŸαŸ‡αŸ” αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜ αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžšαž™αŸˆαž–αŸαž› 90 αžαŸ’αž„αŸƒαž…αž»αž„αž€αŸ’αžšαŸ„αž™ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž’αŸ’αž“αž€αž’αžΆαž…αž€αŸ†αžŽαžαŸ‹αžšαž™αŸˆαž–αŸαž›αžŠαž›αŸ‹ 60 ឬ 30 αžαŸ’αž„αŸƒ αž’αžΆαžŸαŸ’αžšαŸαž™αž›αžΎαž€αž˜αŸ’αžšαž·αžαž“αŸƒαž–αŸαžαŸŒαž˜αžΆαž“αž›αž˜αŸ’αž’αž·αžαžŠαŸ‚αž›αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž€αžΆαžšαŸ”

αžœαžΆαž˜αž·αž“αž”αŸ‰αŸ‡αž–αžΆαž›αŸ‹αžŠαž›αŸ‹αž‘αž·αž“αŸ’αž“αž“αŸαž™αž“αŸ…αž€αŸ’αž“αž»αž„αž”αž‰αŸ’αž‡αžš αž¬αž”αž‰αŸ’αž‡αžΈαž‘αŸ αž˜αžΆαž“αžαŸ‚αž…αŸ†αžŽαž»αž…αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž”αž„αŸ’αž αžΆαž‰αž€αŸ’αž“αž»αž„αžŠαŸ’αž™αžΆαž€αŸ’αžšαžΆαž˜αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ”

GitLab 11.9 αž”αžΆαž“αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžšαž€αžƒαžΎαž‰αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž“αž·αž„αž…αŸ’αž”αžΆαž”αŸ‹αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž‡αžΆαž…αŸ’αžšαžΎαž“αŸ”

αž―αž€αžŸαžΆαžš
αž‚αŸ„αž›αž”αŸ†αžŽαž„

αž€αžΆαžšαž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž„αžΆαžšαž”αž„αŸ’αž€αžΎαž Auto DevOps αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ’αž›αžΆαž€

(αžŸαŸ’αž“αžΌαž›, αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜, αž–αž·αžŸαŸαžŸ, αž…αž»αž„αž€αŸ’αžšαŸ„αž™, αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒ, αžŸαŸ†αžšαž·αž‘αŸ’αž’, αž”αŸ’αžšαžΆαž€αŸ‹, មអស)

αž‡αŸ†αž αžΆαž“αž”αž„αŸ’αž€αžΎαž Auto DevOps αž”αž„αŸ’αž€αžΎαžαž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžŠαŸ„αž™αž”αŸ’αžšαžΎ Dockerfile αž“αŸƒαž‚αž˜αŸ’αžšαŸ„αž„ Heroku ឬ buildpack αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 11.9 αžšαžΌαž”αž—αžΆαž– Docker αž›αž‘αŸ’αž’αž•αž›αžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž€αž”αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„ tag pipeline αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαžΆαž€αŸ‹αžˆαŸ’αž˜αŸ„αŸ‡αžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆαž‘αŸ…αž“αžΉαž„αžˆαŸ’αž˜αŸ„αŸ‡αžšαžΌαž”αž—αžΆαž–αž”αŸ’αžšαž–αŸƒαžŽαžΈ αžŠαŸ„αž™αž”αŸ’αžšαžΎαžŸαŸ’αž›αžΆαž€ commit αž‡αŸ†αž“αž½αžŸαž±αŸ’αž™ SHA commitαŸ”
αžŸαžΌαž˜αž’αžšαž‚αž»αžŽαžŠαž›αŸ‹ Aaron Walker αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž…αžΌαž›αžšαž½αž˜αž…αŸ†αžŽαŸ‚αž€αžšαž”αžŸαŸ‹αž‚αžΆαžαŸ‹!

αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž€αžΌαžŠαž’αžΆαž€αžΆαžŸαž’αžΆαžαž»αž‘αŸ…αž€αŸ†αžŽαŸ‚ 0.83.0

(STARTER, αž”αž»αž–αŸ’αžœαž›αžΆαž—, αž…αž»αž„αž€αŸ’αžšαŸ„αž™, αžŸαŸ†αžšαž·αž‘αŸ’αž’, αž”αŸ’αžšαžΆαž€αŸ‹, មអស)

GitLab αž‚αž»αžŽαž—αžΆαž–αž€αžΌαžŠ αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž’αžΆαž€αžΆαžŸαž’αžΆαžαž»αž€αžΌαžŠ αžŠαžΎαž˜αŸ’αž”αžΈαž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αžαžΆαžαžΎαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž”αŸ‰αŸ‡αž–αžΆαž›αŸ‹αžŠαž›αŸ‹αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž“αŸƒαž€αžΌαžŠ αž“αž·αž„αž‚αž˜αŸ’αžšαŸ„αž„αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 11.9 αž™αžΎαž„αž”αžΆαž“αž’αžΆαž”αŸ‹αžŠαŸαžαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž‘αŸ…αž‡αžΆαž€αŸ†αžŽαŸ‚αž…αž»αž„αž€αŸ’αžšαŸ„αž™αž”αŸ†αž•αž»αž (0.83.0) αžŠαžΎαž˜αŸ’αž”αžΈαž•αŸ’αžαž›αŸ‹αž’αžαŸ’αžαž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž“αŸƒαž—αžΆαžŸαžΆαž”αž“αŸ’αžαŸ‚αž˜ αž“αž·αž„αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαž€αžΆαžšαžœαž·αž—αžΆαž‚αž‹αž·αžαž·αžœαž“αŸ’αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‚αž»αžŽαž—αžΆαž–αž€αžΌαžŠ GitLab αŸ”

αžŸαžΌαž˜αž’αžšαž‚αž»αžŽαžŠαž›αŸ‹αžŸαž˜αžΆαž‡αž·αž€αž€αŸ’αžšαž»αž˜ GitLab Core Takuya Noguchi αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžšαž½αž˜αž…αŸ†αžŽαŸ‚αž€αžšαž”αžŸαŸ‹αž‚αžΆαžαŸ‹ (αžαžΆαž‚αž»αž™αŸ‰αžΆ αžŽαžΌαž αŸ’αž‚αžΌαž‡αžΈ)!

αž―αž€αžŸαžΆαžš
αž‚αŸ„αž›αž”αŸ†αžŽαž„

αž–αž„αŸ’αžšαžΈαž€ αž“αž·αž„αžšαž˜αžΌαžšαž”αž“αŸ’αž‘αŸ‡αž˜αŸ‰αŸ‚αžαŸ’αžš

(αžŸαŸ’αž“αžΌαž›, αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜, αž–αž·αžŸαŸαžŸ, αž…αž»αž„αž€αŸ’αžšαŸ„αž™, αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒ, αžŸαŸ†αžšαž·αž‘αŸ’αž’, αž”αŸ’αžšαžΆαž€αŸ‹, មអស)

αž“αŸ…αž–αŸαž›αž’αŸ’αžœαžΎαž€αžΆαžšαžŸαŸŠαžΎαž”αž’αž„αŸ’αž€αŸαžαž—αžΆαž–αž˜αž·αž“αž”αŸ’αžšαž€αŸ’αžšαžαžΈαž“αŸƒαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αž αžœαžΆαž…αŸ’αžšαžΎαž“αžαŸ‚αž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž€αŸ’αž“αž»αž„αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž€αžΆαž“αŸ‹αžαŸ‚αžŠαž·αžαžŠαž›αŸ‹αž›αžΎαž•αŸ’αž“αŸ‚αž€αž“αžΈαž˜αž½αž™αŸ—αž“αŸƒαž˜αŸ‰αŸ‚αžαŸ’αžšαž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž˜αž½αž™αŸ”

αž‡αžΆαž˜αž½αž™αž“αžΉαž„ GitLab 11.9 αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž“αžΉαž„αž’αžΆαž…αž–αž„αŸ’αžšαžΈαž€αž‘αŸ…αžšαž™αŸˆαž–αŸαž›αž“αžΈαž˜αž½αž™αŸ—αž“αŸ…αž€αŸ’αž“αž»αž„αž”αž“αŸ’αž‘αŸ‡αž˜αŸ‰αŸ‚αžαŸ’αžš αžšαŸ†αž€αž·αž›αž†αŸ’αž›αž„αž€αžΆαžαŸ‹αžšαž™αŸˆαž–αŸαž›αž‘αžΆαŸ†αž„αž˜αžΌαž› αž“αž·αž„αž„αžΆαž™αžŸαŸ’αžšαž½αž›αžαŸ’αžšαž‘αž”αŸ‹αž‘αŸ…αž˜αžΎαž›αž…αž“αŸ’αž›αŸ„αŸ‡αž–αŸαž›αžŠαžΎαž˜αžœαž·αž‰αŸ” αž“αŸαŸ‡αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αžŸαŸ’αžšαžΆαžœαž‡αŸ’αžšαžΆαžœαž™αŸ‰αžΆαž„αžšαž αŸαžŸ αž“αž·αž„αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž’αŸ†αž–αžΈαž–αŸ’αžšαžΉαžαŸ’αžαž·αž€αžΆαžšαžŽαŸαžŠαŸ‚αž›αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž€αžΆαžšαŸ”

GitLab 11.9 αž”αžΆαž“αž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžšαž€αžƒαžΎαž‰αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αž“αž·αž„αž…αŸ’αž”αžΆαž”αŸ‹αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž‡αžΆαž…αŸ’αžšαžΎαž“αŸ”
αž―αž€αžŸαžΆαžš
αž‚αŸ„αž›αž”αŸ†αžŽαž„

SAST αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ TypeScript

(αž…αž»αž„αž€αŸ’αžšαŸ„αž™ មអស)

TypeScript αž‚αžΊαž‡αžΆαž—αžΆαžŸαžΆαžŸαžšαžŸαŸαžšαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžαŸ’αž˜αžΈαžŠαŸ‚αž›αž•αŸ’αž’αŸ‚αž€αž›αžΎ JavaScript.

αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 11.9 αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‹αž·αžαž·αžœαž“αŸ’αž (SAST) αžœαž·αž—αžΆαž‚ αž“αž·αž„αžšαž€αžƒαžΎαž‰αž—αžΆαž–αž„αžΆαž™αžšαž„αž‚αŸ’αžšαŸ„αŸ‡αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΌαžŠ TypeScript αžŠαŸ„αž™αž”αž„αŸ’αž αžΆαž‰αž–αž½αž€αžœαžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž’αžΆαžαž»αž€αŸ’αžšαžΆαž αŸ’αžœαž·αž€αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆ αž€αž˜αŸ’αžšαž·αžαž”αŸ†αž–αž„αŸ‹ αž“αž·αž„αž•αŸ’αž‘αžΆαŸ†αž„αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αŸ” αž“αž·αž™αž˜αž“αŸαž™αž€αžΆαžšαž„αžΆαžšαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ sast αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‘αŸ αž αžΎαž™αžœαžΆαž€αŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž…αžΌαž›αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž•αž„αžŠαŸ‚αžšαŸ” αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· DevOps.

αž―αž€αžŸαžΆαžš
αž‚αŸ„αž›αž”αŸ†αžŽαž„

SAST αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‚αž˜αŸ’αžšαŸ„αž„ Maven αž–αž αž»αž˜αŸ‰αžΌαžŒαž»αž›

(αž…αž»αž„αž€αŸ’αžšαŸ„αž™ មអស)

αž‚αž˜αŸ’αžšαŸ„αž„ Maven αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαŸ€αž”αž…αŸ†αž‡αžΆαž‰αžΉαž€αž‰αžΆαž”αŸ‹αžŠαžΎαž˜αŸ’αž”αžΈαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆ αž˜αŸ‰αžΌαžŒαž»αž›αž‡αžΆαž…αŸ’αžšαžΎαž“αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αžƒαŸ’αž›αžΆαŸ†αž„αž˜αž½αž™αŸ” αž–αžΈαž˜αž»αž“ GitLab αž˜αž·αž“αž’αžΆαž…αžŸαŸ’αž€αŸαž“αž‚αž˜αŸ’αžšαŸ„αž„αž”αŸ‚αž”αž“αŸαŸ‡αž”αžΆαž“αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαž‘αŸ αž αžΎαž™αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸ αž“αž·αž„αž’αŸ’αž“αž€αž―αž€αž‘αŸαžŸαžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αž˜αž·αž“αž”αžΆαž“αž‘αž‘αž½αž›αžšαž”αžΆαž™αž€αžΆαžšαžŽαŸαž’αŸ†αž–αžΈαž—αžΆαž–αž„αžΆαž™αžšαž„αž‚αŸ’αžšαŸ„αŸ‡αž“αŸ„αŸ‡αž‘αŸαŸ”

GitLab 11.9 αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαž”αž“αŸ’αžαŸ‚αž˜αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αž»αžαž„αžΆαžš SAST αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‚αž˜αŸ’αžšαŸ„αž„αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αž“αŸαŸ‡ αžŠαŸ„αž™αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαžŸαžΆαž€αž›αŸ’αž”αž„αž–αž½αž€αžœαžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž—αžΆαž–αž„αžΆαž™αžšαž„αž‚αŸ’αžšαŸ„αŸ‡αžŠαžΌαž…αžŠαŸ‚αž›αž˜αžΆαž“αŸ” αžŸαžΌαž˜αž’αžšαž‚αž»αžŽαž…αŸ†αž–αŸ„αŸ‡αž—αžΆαž–αž”αžαŸ‹αž”αŸ‚αž“αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžœαž·αž—αžΆαž‚ αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αž αžΎαž™αž’αŸ’αž“αž€αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž’αŸ’αžœαžΈαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαžΎαž˜αŸ’αž”αžΈαž˜αžΎαž›αž›αž‘αŸ’αž’αž•αž›αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ Maven αž–αž αž»αž˜αŸ‰αžΌαžŒαž»αž›αŸ” αž‡αžΆαž’αž˜αŸ’αž˜αžαžΆ αž€αžΆαžšαž€αŸ‚αž›αž˜αŸ’αž’αžŸαŸ’αžšαžŠαŸ€αž„αž‚αŸ’αž“αžΆαž€αŸαž˜αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž•αž„αžŠαŸ‚αžšαŸ” αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· DevOps.

αž―αž€αžŸαžΆαžš
αž‚αŸ„αž›αž”αŸ†αžŽαž„

αž’αŸ’αž“αž€αžšαžαŸ‹ GitLab 11.9

(αžŸαŸ’αž“αžΌαž›, αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜, αž–αž·αžŸαŸαžŸ, αž…αž»αž„αž€αŸ’αžšαŸ„αž™, αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒ, αžŸαŸ†αžšαž·αž‘αŸ’αž’, αž”αŸ’αžšαžΆαž€αŸ‹, មអស)

αžαŸ’αž„αŸƒαž“αŸαŸ‡αž™αžΎαž„αž€αŸαž”αžΆαž“αž”αž‰αŸ’αž…αŸαž‰ GitLab Runner 11.9! GitLab Runner αž‚αžΊαž‡αžΆαž‚αž˜αŸ’αžšαŸ„αž„αž”αŸ’αžšαž—αž–αž”αžΎαž€αž…αŸ†αž  αž αžΎαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αžΆαžšαž„αžΆαžš CI/CD αž αžΎαž™αž•αŸ’αž‰αžΎαž›αž‘αŸ’αž’αž•αž›αžαŸ’αžšαž‘αž”αŸ‹αž‘αŸ… GitLab αžœαž·αž‰αŸ”

αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž˜αž½αž™αž…αŸ†αž“αž½αž“αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab Runner 11.9αŸ–

αž”αž‰αŸ’αž‡αžΈαž–αŸαž‰αž›αŸαž‰αž“αŸƒαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž’αžΆαž…αžšαž€αž”αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab Runner changelogαŸ– αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžš.

αž―αž€αžŸαžΆαžš

αž€αžΆαžšαž€αŸ‚αž›αž˜αŸ’αž’αž‚αŸ’αžšαŸ„αž„αž€αžΆαžšαžŽαŸ GitLab

(αžŸαŸ’αž“αžΌαž›, αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜, αž–αž·αžŸαŸαžŸ, αž…αž»αž„αž€αŸ’αžšαŸ„αž™)

αž€αžΆαžšαž€αŸ‚αž›αž˜αŸ’αž’αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž‘αžΎαž„αž…αŸ†αž–αŸ„αŸ‡αžαžΆαžšαžΆαž„ GitLabαŸ–

  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Google Cloud Memorystore αŸ”
  • αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž€αžΆαžšαž„αžΆαžš Cron αž₯αž‘αžΌαžœαž“αŸαŸ‡αž‡αžΆαžŸαž€αž›αž…αžΆαž”αŸ‹αžαžΆαŸ†αž„αž–αžΈαž–αž½αž€αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŠαŸ„αž™αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž‡αžΆαž…αŸ’αžšαžΎαž“αŸ”
  • αž”αž‰αŸ’αž‡αžΈαžˆαŸ’αž˜αŸ„αŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž‘αŸ…αž€αŸ†αžŽαŸ‚ 2.7.1 αŸ”
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžαŸ’αž˜αžΈαžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž±αŸ’αž™αž”αž‰αŸ’αž‡αžΈαžˆαŸ’αž˜αŸ„αŸ‡ GitLab αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαž‡αžΆαž˜αž½αž™αž€αŸ†αžŽαŸ‚ Docker αž˜αž»αž“ 1.10αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αžŸαžΌαž˜αžŠαŸ†αž‘αžΎαž„ registry.compatibility.schema1.enabled: true.

αž―αž€αžŸαžΆαžš

αž€αžΆαžšαž€αŸ‚αž›αž˜αŸ’αž’αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αž

(αžŸαŸ’αž“αžΌαž›, αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜, αž–αž·αžŸαŸαžŸ, αž…αž»αž„αž€αŸ’αžšαŸ„αž™, αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒ, αžŸαŸ†αžšαž·αž‘αŸ’αž’, αž”αŸ’αžšαžΆαž€αŸ‹, មអស)

αž™αžΎαž„αž”αž“αŸ’αžαž’αŸ’αžœαžΎαž±αŸ’αž™αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„αž“αžΌαžœαž€αžΆαžšαž’αž“αž»αžœαžαŸ’αž GitLab αž‡αžΆαž˜αž½αž™αž“αžΉαž„αžšαžΆαž›αŸ‹αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž§αž‘αžΆαž αžšαžŽαŸ GitLab αž‚αŸ’αžšαž”αŸ‹αž‘αŸ†αž αŸ†αŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž€αžΆαžšαž€αŸ‚αž›αž˜αŸ’αž’αž˜αž½αž™αž…αŸ†αž“αž½αž“αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 11.9αŸ–

αž€αžΆαžšαž€αŸ‚αž›αž˜αŸ’αž’αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αž

αž€αžΆαžšαž€αŸ‚αž›αž˜αŸ’αž’ Omnibus

(αžŸαŸ’αž“αžΌαž›, αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜, αž–αž·αžŸαŸαžŸ, αž…αž»αž„αž€αŸ’αžšαŸ„αž™)

GitLab 11.9 αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž€αžΆαžšαž€αŸ‚αž›αž˜αŸ’αž’ Omnibus αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸ–

  • GitLab 11.9 αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž› αžŸαŸ†αžαžΆαž“αŸ‹αž”αŸ†αž•αž»αž αŸ₯.្្, αž”αŸ’αžšαž—αž–αž”αžΎαž€αž…αŸ†αž  Slack αž‡αŸ†αž“αž½αžŸαžŠαŸ‚αž›αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž…αž»αž„αž€αŸ’αžšαŸ„αž™αž”αŸ†αž•αž»αžαžšαž”αžŸαŸ‹αžœαžΆαžšαž½αž˜αž˜αžΆαž“ MFA αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Team Edition αž€αžΆαžšαž’αŸ’αžœαžΎαž±αŸ’αž™αžšαžΌαž”αž—αžΆαž–αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„ αž“αž·αž„αž…αŸ’αžšαžΎαž“αž‘αŸ€αžαŸ” αž€αŸ†αžŽαŸ‚αž“αŸαŸ‡αž€αŸαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž•αž„αžŠαŸ‚αžšαŸ” αž€αžΆαžšαž€αŸ‚αž›αž˜αŸ’αž’αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–; αž’αžΆαž”αŸ‹αžŠαŸαžαž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†αŸ”
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžαŸ’αž˜αžΈαžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž±αŸ’αž™αž”αž‰αŸ’αž‡αžΈαžˆαŸ’αž˜αŸ„αŸ‡ GitLab αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαž‡αžΆαž˜αž½αž™αž€αŸ†αžŽαŸ‚ Docker αž˜αž»αž“ 1.10αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αžŸαžΌαž˜αžŠαŸ†αž‘αžΎαž„ registry['compatibility_schema1_enabled'] = true Π² gitlab.rb.
  • αž€αžΆαžšαž…αž»αŸ‡αž”αž‰αŸ’αž‡αžΈ GitLab αž₯αž‘αžΌαžœαž“αŸαŸ‡αž“αžΆαŸ†αž…αŸαž‰αž˜αŸ‰αŸ‚αžαŸ’αžš Prometheus αž αžΎαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αžŠαŸ„αž™αž€αžΆαžšαž…αžΌαž› αž€αž‰αŸ’αž…αž”αŸ‹αžŠαŸ„αž™αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ Prometheus.
  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Google Cloud Memorystore αžŠαŸ‚αž›αž‘αžΆαž˜αž‘αžΆαžš ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ redis_enable_client.
  • openssl αž”αžΆαž“αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž‘αŸ…αž€αŸ†αžŽαŸ‚ 1.0.2r, nginx - αžšαž αžΌαžαžŠαž›αŸ‹αž€αŸ†αžŽαŸ‚ 1.14.2, python - αžšαž αžΌαžαžŠαž›αŸ‹αž€αŸ†αžŽαŸ‚ 3.4.9, jemalloc - αžšαž αžΌαžαžŠαž›αŸ‹αž€αŸ†αžŽαŸ‚ 5.1.0, docutils - αžšαž αžΌαžαžŠαž›αŸ‹αž€αŸ†αžŽαŸ‚ 0.13.1, gitlab-monitor- αžšαž αžΌαžαžŠαž›αŸ‹αž€αŸ†αžŽαŸ‚ 3.2.0 αŸ”

αž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸαž αž½αžŸαžŸαž˜αŸαž™

GitLab Geo αž“αžΉαž„αž•αŸ’αžαž›αŸ‹αž“αžΌαžœαž€αžΆαžšαž•αŸ’αž‘αž»αž€ hashed αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 12.0

GitLab Geo αž‘αžΆαž˜αž‘αžΆαžš αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹ αžŠαžΎαž˜αŸ’αž”αžΈαž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αž€αžΆαžšαž”αŸ’αžšαž€αž½αžαž”αŸ’αžšαž‡αŸ‚αž„ (αž›αž€αŸ’αžαžαžŽαŸ’αžŒαž“αŸƒαž€αžΆαžšαž”αŸ’αžšαžŽαžΆαŸ†αž„) αž“αŸ…αž›αžΎαžαŸ’αž“αžΆαŸ†αž„αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž”αž“αŸ’αžŸαŸ†αŸ” αž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αžαŸ‹αžŸαž˜αŸ’αž‚αžΆαž›αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„ gitlab-ce #40970.

αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 11.5 αž™αžΎαž„αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαž“αŸαŸ‡αž‘αŸ…αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžš GeoαŸ– gitlab-ee #8053.

αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 11.6 sudo gitlab-rake gitlab: geo: check αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αžαžΆαžαžΎαž€αž“αŸ’αž›αŸ‚αž„αž•αŸ’αž‘αž»αž€αžŠαŸ‚αž›αž”αžΆαž“αž αžΆαžŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž αžΎαž™αž‚αž˜αŸ’αžšαŸ„αž„αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αž‘αŸαžšαŸ” αžŸαž„αŸ‹β€‹αž‘αžΈβ€‹αž˜αŸ‰αŸ‚β€‹αžαŸ” gitlab-ee #8289. αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž€αŸ†αž–αž»αž„αž”αŸ’αžšαžΎ Geo αžŸαžΌαž˜αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž“αŸαŸ‡ αž αžΎαž™αž’αŸ’αžœαžΎαž…αŸ†αžŽαžΆαž€αžŸαŸ’αžšαž»αž€αž±αŸ’αž™αž”αžΆαž“αž†αžΆαž”αŸ‹αžαžΆαž˜αžŠαŸ‚αž›αž’αžΆαž…αž’αŸ’αžœαžΎαž‘αŸ…αž”αžΆαž“αŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 11.8 αž€αžΆαžšαž–αŸ’αžšαž˜αžΆαž“αž”αž·αž‘αž‡αžΆαž’αž…αž·αž“αŸ’αžαŸ’αžšαŸƒαž™αŸ gitlab-ee!8433 αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αž“αŸ…αž›αžΎαž‘αŸ†αž–αŸαžš αžαŸ†αž”αž“αŸ‹αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„ β€Ί Geo β€Ί αžαŸ’αž“αžΆαŸ†αž„αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αžαžΆαž„αž›αžΎαž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αž‰αŸ’αž‰αžΆαžαŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 12.0 Geo αž“αžΉαž„αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž›αž€αŸ’αžαžαžŽαŸ’αžŒαž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™ hashed αŸ” αžŸαž„αŸ‹β€‹αž‘αžΈβ€‹αž˜αŸ‰αŸ‚β€‹αžαŸ” gitlab-ee #8690.

αž€αžΆαž›αž”αžšαž·αž…αŸ’αž†αŸαž‘β€‹αž›αž»αž”αŸ– 22 αžαŸ‚αž˜αž·αžαž»αž“αžΆ 2019

αž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž› Hipchat

αž αŸŠαžΈαž”αž†αžΆαž αž˜αž·αž“β€‹αž‚αžΆαŸ†αž‘αŸ’αžš. αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡αž‘αŸ€αžαž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ†αžŽαŸ‚ 11.9 αž™αžΎαž„αž”αžΆαž“αž›αž»αž”αž˜αž»αžαž„αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž› Hipchat αžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžšαžΆαž”αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab.

αž€αžΆαž›αž”αžšαž·αž…αŸ’αž†αŸαž‘β€‹αž›αž»αž”αŸ– 22 αžαŸ‚αž˜αžΈαž“αžΆ 2019 αŸ”

αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžš CentOS 6 αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ GitLab Runner αžŠαŸ„αž™αž”αŸ’αžšαžΎ Docker executor

GitLab Runner αž˜αž·αž“αž‚αžΆαŸ†αž‘αŸ’αžš CentOS 6 αž“αŸ…αž–αŸαž›αž”αŸ’αžšαžΎ Docker αž“αŸ…αž›αžΎ GitLab 11.9 αŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαž›αž‘αŸ’αž’αž•αž›αž“αŸƒαž€αžΆαžšαž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž‘αŸ…αž”αžŽαŸ’αžŽαžΆαž›αŸαž™αžŸαŸ’αž“αžΌαž› Docker αžŠαŸ‚αž›αž›αŸ‚αž„αž‚αžΆαŸ†αž‘αŸ’αžš CentOS 6 αŸ” αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž–αŸαžαŸŒαž˜αžΆαž“αž›αž˜αŸ’αž’αž·αžαžŸαžΌαž˜αž˜αžΎαž› αž€αž·αž…αŸ’αž…αž€αžΆαžšαž“αŸαŸ‡αŸ”.

αž€αžΆαž›αž”αžšαž·αž…αŸ’αž†αŸαž‘β€‹αž›αž»αž”αŸ– 22 αžαŸ‚αž˜αžΈαž“αžΆ 2019 αŸ”

αž•αŸ’αž›αžΌαžœαž€αžΌαžŠαž…αžΆαžŸαŸ‹αžšαž”αžŸαŸ‹ GitLab Runner αž αž½αžŸαžŸαž˜αŸαž™

αž‚αž·αžαžαŸ’αžšαžΉαž˜ Gitlab 11.9, GitLab Runner αž”αŸ’αžšαžΎ αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαžαŸ’αž˜αžΈαŸ” αž€αŸ’αž›αžΌαž“/αž αŸ…αžƒαŸ’αž›αžΆαŸ†αž„αŸ” αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ GitLab Runner αž“αžΉαž„αž”αŸ’αžšαžΎαžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžšαž…αžΆαžŸαŸ‹ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžœαž·αž’αžΈαžαŸ’αž˜αžΈαž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αžΆαŸ†αž‘αŸ’αžšαŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 11.0 αž™αžΎαž„αž”αžΆαž“αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžšαžΌαž”αžšαžΆαž„αžšαž”αžŸαŸ‹ metrics server configuration αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ GitLab RunnerαŸ” metrics_server αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαž€αž…αŸαž‰αžŠαŸ„αž™αž–αŸαž‰αž…αž·αžαŸ’αž listen_address αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 12.0 αŸ” αž˜αžΎαž›αž–αŸαžαŸŒαž˜αžΆαž“αž›αž˜αŸ’αž’αž·αžαž”αž“αŸ’αžαŸ‚αž˜αž“αŸ…αž€αŸ’αž“αž»αž„ αž€αž·αž…αŸ’αž…αž€αžΆαžšαž“αŸαŸ‡αŸ”. αž“αž·αž„αž–αŸαžαŸŒαž˜αžΆαž“αž›αž˜αŸ’αž’αž·αžαž”αž“αŸ’αžαŸ‚αž˜αž“αŸ…αž€αŸ’αž“αž»αž„ αž€αž·αž…αŸ’αž…αž€αžΆαžšαž“αŸαŸ‡αŸ”.

αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ†αžŽαŸ‚ 11.3, GitLab Runner αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‚αžΆαŸ†αž‘αŸ’αžš αž’αŸ’αž“αž€αž•αŸ’αžαž›αŸ‹αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž…αŸ’αžšαžΎαž“αŸ”αžŠαŸ‚αž›αž“αžΆαŸ†αž‘αŸ…αžŠαž›αŸ‹αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžαŸ’αž˜αžΈαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ S3 αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹αŸ” αž“αŸαŸ‡ αž―αž€αžŸαžΆαžš αžαžΆαžšαžΆαž„αž“αŸƒαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžš αž“αž·αž„αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‘αŸ…αž€αžΆαž“αŸ‹αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžαŸ’αž˜αžΈαžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž‡αžΌαž“αŸ” αž˜αžΎαž›αž–αŸαžαŸŒαž˜αžΆαž“αž›αž˜αŸ’αž’αž·αžαž”αž“αŸ’αžαŸ‚αž˜αž“αŸ…αž€αŸ’αž“αž»αž„ αž€αž·αž…αŸ’αž…αž€αžΆαžšαž“αŸαŸ‡αŸ”.

αž•αŸ’αž›αžΌαžœαž‘αžΆαŸ†αž„αž“αŸαŸ‡αž˜αž·αž“αž˜αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 12.0 αž‘αŸ€αžαž‘αŸαŸ” αž€αŸ’αž“αž»αž„αž“αžΆαž˜αž‡αžΆαž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ αž’αŸ’αž“αž€αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž’αŸ’αžœαžΈαž•αŸ’αžŸαŸαž„αž€αŸ’αžšαŸ…αž–αžΈαž€αžΆαžšαž’αžΆαž“αžΆαžαžΆαž§αž‘αžΆαž αžšαžŽαŸ GitLab αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αŸ†αžŽαŸ‚ 11.9+ αž“αŸ…αž–αŸαž›αžŠαŸ†αž‘αžΎαž„αž€αŸ†αžŽαŸ‚αž‘αŸ… GitLab Runner 12.0αŸ”

αž€αžΆαž›αž”αžšαž·αž…αŸ’αž†αŸαž‘β€‹αž›αž»αž”αŸ– 22 αžαŸ‚αž˜αž·αžαž»αž“αžΆ 2019

αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαžŠαŸ‚αž›αž”αžΆαž“αž”αžŠαž·αžŸαŸαž’αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸαž…αŸ†αžŽαž»αž…αž…αžΌαž›αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ GitLab Runner

11.4 GitLab Runner αžŽαŸ‚αž“αžΆαŸ†αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸ FF_K8S_USE_ENTRYPOINT_OVER_COMMAND αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž‰αŸ’αž αžΆαžŠαžΌαž…αž‡αžΆ #2338 ΠΈ #3536.

αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 12.0 αž™αžΎαž„αž“αžΉαž„αž”αŸ’αžαžΌαžšαž‘αŸ…αž₯αžšαž·αž™αžΆαž”αžαžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαžŠαžΌαž…αž‡αžΆαž”αŸ’αžšαžŸαž·αž“αž”αžΎαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž·αž‘αŸ” αž˜αžΎαž›αž–αŸαžαŸŒαž˜αžΆαž“αž›αž˜αŸ’αž’αž·αžαž”αž“αŸ’αžαŸ‚αž˜αž“αŸ…αž€αŸ’αž“αž»αž„ αž€αž·αž…αŸ’αž…αž€αžΆαžšαž“αŸαŸ‡αŸ”.

αž€αžΆαž›αž”αžšαž·αž…αŸ’αž†αŸαž‘β€‹αž›αž»αž”αŸ– 22 αžαŸ‚αž˜αž·αžαž»αž“αžΆ 2019

αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŠαŸ‚αž›αž”αžΆαž“αž”αžŠαž·αžŸαŸαž’αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž…αŸ‚αž€αž…αžΆαž™αž›αžΈαž“αž»αž…αžˆαžΆαž“αžŠαž›αŸ‹ EOL αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ GitLab Runner

αž€αžΆαžšαž…αŸ‚αž€αž…αžΆαž™αž›αžΈαž“αž»αž…αž˜αž½αž™αž…αŸ†αž“αž½αž“αžŠαŸ‚αž› GitLab Runner αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ†αž‘αžΎαž„αž”αžΆαž“αž”αž˜αŸ’αžšαžΎαž‚αŸ„αž›αž”αŸ†αžŽαž„αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 12.0, GitLab Runner αž“αžΉαž„αž˜αž·αž“αž…αŸ‚αž€αž…αžΆαž™αž€αž‰αŸ’αž…αž”αŸ‹αž‘αŸ…αž€αžΆαžšαž…αŸ‚αž€αž…αžΆαž™αž›αžΈαž“αž»αž…αž”αŸ‚αž”αž“αŸαŸ‡αž‘αŸ€αžαž‘αŸαŸ” αž”αž‰αŸ’αž‡αžΈαž–αŸαž‰αž›αŸαž‰αž“αŸƒαž€αžΆαžšαž…αŸ‚αž€αž…αžΆαž™αžŠαŸ‚αž›αž›αŸ‚αž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αžΆαŸ†αž‘αŸ’αžšαž’αžΆαž…αžšαž€αž”αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αžšαž”αžŸαŸ‹αž™αžΎαž„αŸ” αž―αž€αžŸαžΆαžš. αžŸαžΌαž˜αž’αžšαž‚αž»αžŽαžŠαž›αŸ‹ Javier Ardo (αž›αŸ„αž€ Javier Jardon) αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αž‚αžΆαžαŸ‹ αž€αžΆαžšαžšαž½αž˜αž…αŸ†αžŽαŸ‚αž€!

αž€αžΆαž›αž”αžšαž·αž…αŸ’αž†αŸαž‘β€‹αž›αž»αž”αŸ– 22 αžαŸ‚αž˜αž·αžαž»αž“αžΆ 2019

αž€αžΆαžšαžŠαž€αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‡αŸ†αž“αž½αž™αž€αžΆαžšαžšαžαŸ‹ GitLab αž…αžΆαžŸαŸ‹αž…αŸαž‰

αž‡αžΆαž•αŸ’αž“αŸ‚αž€αž˜αž½αž™αž“αŸƒαž€αž·αž…αŸ’αž…αžαž·αžαžαŸ†αž”αŸ’αžšαžΉαž„αž”αŸ’αžšαŸ‚αž„αžšαž”αžŸαŸ‹αž™αžΎαž„αž€αŸ’αž“αž»αž„αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžš αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž· Windows Docker αžαŸ’αžšαžΌαžœβ€‹αž”αŸ„αŸ‡αž”αž„αŸ‹β€‹αž–αžΆαž€αŸ’αž™β€‹αž”αž‰αŸ’αž‡αžΆβ€‹αž…αžΆαžŸαŸ‹β€‹αž˜αž½αž™β€‹αž…αŸ†αž“αž½αž“β€‹αžŠαŸ‚αž›β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž”αŸ’αžšαžΎβ€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ αžšαžΌαž”αž—αžΆαž–αž‡αŸ†αž“αž½αž™.

αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 12.0, GitLab Runner αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αžΎαž€αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ„αž™αž”αŸ’αžšαžΎαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžαŸ’αž˜αžΈαŸ” αžœαžΆαž”αŸ‰αŸ‡αž–αžΆαž›αŸ‹αžαŸ‚αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŠαŸ‚αž›αž”αžŠαž·αžŸαŸαž’αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αžšαžΌαž”αž—αžΆαž–αž‡αŸ†αž“αž½αž™. αž˜αžΎαž›αž–αŸαžαŸŒαž˜αžΆαž“αž›αž˜αŸ’αž’αž·αžαž”αž“αŸ’αžαŸ‚αž˜αž“αŸ…αž€αŸ’αž“αž»αž„ αž€αž·αž…αŸ’αž…αž€αžΆαžšαž“αŸαŸ‡αŸ”.

αž€αžΆαž›αž”αžšαž·αž…αŸ’αž†αŸαž‘β€‹αž›αž»αž”αŸ– 22 αžαŸ‚αž˜αž·αžαž»αž“αžΆ 2019

αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž’αžΆαž…αž›αž»αž”αžŸαŸ’αž›αžΆαž€ Git αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 11.10

αž€αžΆαžšαž›αž»αž”αž…αŸαž‰ αž¬αž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›αž€αŸ†αžŽαžαŸ‹αž…αŸ†αžŽαžΆαŸ†αž€αŸ†αžŽαŸ‚αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ’αž›αžΆαž€ Git αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαžΆαžαžΆαžŠαŸ‚αž›αž˜αž·αž“αž”αžΆαž“αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αž‡αžΆαž”αŸ’αžšαžœαžαŸ’αžαž·αžŸαžΆαžŸαŸ’αžαŸ’αžšαžαŸ‚αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡ αž’αŸ’αž“αž€αž”αž˜αŸ’αžšαžΎ αž“αž·αž„αž˜αŸ’αž…αžΆαžŸαŸ‹.

αžŠαŸ„αž™αžŸαžΆαžšαž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž’αžΆαž…αž”αž“αŸ’αžαŸ‚αž˜αžŸαŸ’αž›αžΆαž€ αž“αž·αž„αž€αŸ‚αž”αŸ’αžšαŸ‚ αž“αž·αž„αž›αž»αž”αžŸαžΆαžαžΆαžŠαŸ‚αž›αž˜αž·αž“αž”αžΆαž“αž€αžΆαžšαž–αžΆαžš αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž‚αž½αžšαžαŸ‚αž’αžΆαž…αž›αž»αž”αžŸαŸ’αž›αžΆαž€ Git αž”αžΆαž“αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 11.10 αž™αžΎαž„αž€αŸ†αž–αž»αž„αž’αŸ’αžœαžΎαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž“αŸαŸ‡αŸ” αž‘αŸ…αž€αŸ’αž“αž»αž„αž‚αŸ†αžšαžΌαž€αžΆαžšαž’αž“αž»αž‰αŸ’αž‰αžΆαžαžšαž”αžŸαŸ‹αž™αžΎαž„ αžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ‚αž›αž˜αŸ’αž’αž›αŸ†αž αžΌαžšαž€αžΆαžšαž„αžΆαžš αž“αž·αž„αž‡αž½αž™αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŸαŸ’αž›αžΆαž€αž±αŸ’αž™αž€αžΆαž“αŸ‹αžαŸ‚αž”αŸ’αžšαžŸαžΎαžš αž“αž·αž„αž˜αžΆαž“αž”αŸ’αžšαžŸαž·αž‘αŸ’αž’αž—αžΆαž–αž‡αžΆαž„αž˜αž»αž“αŸ”

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž…αž„αŸ‹αžšαž€αŸ’αžŸαžΆαž€αžΆαžšαžšαžΉαžαž”αž“αŸ’αžαžΉαž„αž“αŸαŸ‡αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αžαŸ‚αž‘αžΆαŸ† αž“αž·αž„αž˜αŸ’αž…αžΆαžŸαŸ‹ αžŸαžΌαž˜αž”αŸ’αžšαžΎ αžŸαŸ’αž›αžΆαž€αž€αžΆαžšαž–αžΆαžš.

αž€αžΆαž›αž”αžšαž·αž…αŸ’αž†αŸαž‘β€‹αž›αž»αž”αŸ– 22 αžαŸ‚αž˜αŸαžŸαžΆ 2019

αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžš Prometheus 1.x αž“αŸ…αž€αŸ’αž“αž»αž„ Omnibus GitLab

αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‡αžΆαž˜αž½αž™ GitLab 11.4αž€αŸ†αžŽαŸ‚αžŠαŸ‚αž›αž—αŸ’αž‡αžΆαž”αŸ‹αž˜αž€αž‡αžΆαž˜αž½αž™αžšαž”αžŸαŸ‹ Prometheus 1.0 αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαž€αž…αŸαž‰αž–αžΈ Omnibus GitLab αŸ” αž€αŸ†αžŽαŸ‚ Prometheus 2.0 αž₯αž‘αžΌαžœαž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›. αž‘αŸ„αŸ‡αž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž‘αž˜αŸ’αžšαž„αŸ‹αž˜αŸ‰αŸ‚αžαŸ’αžšαž˜αž·αž“αžαŸ’αžšαžΌαžœαž‚αŸ’αž“αžΆαž‡αžΆαž˜αž½αž™αž€αŸ†αžŽαŸ‚ 1.0 αž‘αŸαŸ” αž€αŸ†αžŽαŸ‚αžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ’αžšαžΆαž”αŸ‹αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ†αž‘αžΎαž„αž‘αŸ… 2.0 αž αžΎαž™αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž…αžΆαŸ†αž”αžΆαž…αŸ‹ αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αž‘αŸαžš αžŠαŸ„αž™αž”αŸ’αžšαžΎαž§αž”αž€αžšαžŽαŸαž—αŸ’αž‡αžΆαž”αŸ‹αž˜αž€αž‡αžΆαž˜αž½αž™.

αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ†αžŽαŸ‚ GitLab 12.0 Prometheus 2.0 αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ†αž‘αžΎαž„αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž· αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž€αžΆαžšαž’αžΆαž”αŸ‹αžŠαŸαžαž˜αž·αž“αž‘αžΆαž“αŸ‹αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαŸ†αž‘αžΎαž„αžšαž½αž…αŸ” αž‘αž·αž“αŸ’αž“αž“αŸαž™αž–αžΈ Prometheus 1.0 αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαžαŸ‹αž”αž„αŸ‹αžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚... αž˜αž·αž“β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž’αžαŸ‹β€‹αž±αž“β€‹αŸ”

αž€αžΆαž›αž”αžšαž·αž…αŸ’αž†αŸαž‘β€‹αž›αž»αž”αŸ– 22 αžαŸ‚αž˜αž·αžαž»αž“αžΆ 2019

TLSv1.1

αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‡αžΆαž˜αž½αž™ GitLab 12.0 TLS v1.1 αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž·αž‘αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜ αžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ‚αž›αž˜αŸ’αž’αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αŸ” αžœαžΆαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž”αž‰αŸ’αž αžΆαž‡αžΆαž…αŸ’αžšαžΎαž“αžšαž½αž˜αž‘αžΆαŸ†αž„ Heartbleed αž“αž·αž„αž’αŸ’αžœαžΎαž±αŸ’αž™ GitLab PCI DSS 3.1 αž’αž“αž»αž›αŸ„αž˜αžαžΆαž˜αž”αŸ’αžšαž’αž”αŸ‹αŸ”

αžŠαžΎαž˜αŸ’αž”αžΈαž”αž·αž‘ TLS v1.1 αž‡αžΆαž”αž“αŸ’αž‘αžΆαž“αŸ‹ αžŸαžΌαž˜αž€αŸ†αžŽαžαŸ‹ nginx['ssl_protocols'] = "TLSv1.2" Π² gitlab.rband αž“αž·αž„αžšαžαŸ‹ gitlab-ctl reconfigure.

αž€αžΆαž›αž”αžšαž·αž…αŸ’αž†αŸαž‘β€‹αž›αž»αž”αŸ– 22 αžαŸ‚αž˜αž·αžαž»αž“αžΆ 2019

αž‚αŸ†αžšαžΌ OpenShift αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„ GitLab

αž‡αžΆαž•αŸ’αž›αžΌαžœαž€αžΆαžš gitlab αž‚αŸ†αž“αžΌαžŸαžαžΆαž„αž˜αž½αž€αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž– - αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžšαžŠαŸ‚αž›αž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš GitLab αž“αŸ…αž›αžΎ Kubernetes αžšαž½αž˜αž‘αžΆαŸ†αž„ αž€αžΆαžšαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αž‘αŸ… OpenShift.

αž‚αŸ†αžšαžΌ OpenShift αžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αž‘αžΎαž„ GitLab αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αžŠαž·αžŸαŸαž’ αž αžΎαž™αž“αžΉαž„αž›αŸ‚αž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αžΆαŸ†αž‘αŸ’αžšαž“αŸ…αž€αŸ’αž“αž»αž„ Git Lab 12.0.

αž€αžΆαž›αž”αžšαž·αž…αŸ’αž†αŸαž‘β€‹αž›αž»αž”αŸ– 22 αžαŸ‚αž˜αž·αžαž»αž“αžΆ 2019

αž“αž·αž™αž˜αž“αŸαž™αž–αžΈαž˜αž»αž“αž“αŸƒαž€αžΆαžšαž„αžΆαžšαžŸαž“αŸ’αžαž·αžŸαž»αž

αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ† αž‚αŸ†αžšαžΌ CI/CD αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž„αžΆαžšαžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž– αž“αž·αž™αž˜αž“αŸαž™αž€αžΆαžšαž„αžΆαžšαž–αžΈαž˜αž»αž“αžŽαžΆαž˜αž½αž™αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αžŠαž·αžŸαŸαž’ αž αžΎαž™αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž™αž€αž…αŸαž‰αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 12.0 αž¬αž€αŸ’αžšαŸ„αž™αž“αŸαŸ‡αŸ”

αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αž“αž·αž™αž˜αž“αŸαž™αž€αžΆαžšαž„αžΆαžšαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€ αžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ’αžšαžΎαžœαžΆαž€αŸ’αž™αžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžαŸ’αž˜αžΈ αž“αž·αž„αž‘αžΆαž‰αž™αž€αž’αžαŸ’αžαž”αŸ’αžšαž™αŸ„αž‡αž“αŸαž–αžΈαž˜αž»αžαž„αžΆαžšαžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αžαŸ’αž˜αžΈαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ‚αž›αž•αŸ’αžαž›αŸ‹αžŠαŸ„αž™ GitLab αŸ”

αž€αžΆαž›αž”αžšαž·αž…αŸ’αž†αŸαž‘β€‹αž›αž»αž”β€‹αž…αŸ„αž›αŸ– αžαŸ’αž„αŸƒαž‘αžΈ ្្ αžαŸ‚ αž˜αž·αžαž»αž“αžΆ αž†αŸ’αž“αžΆαŸ† ្០៑៩

αž•αŸ’αž“αŸ‚αž€αž–αŸαžαŸŒαž˜αžΆαž“αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž“αŸ…αž€αŸ’αž“αž»αž„αž”αž“αŸ’αž‘αŸ‡αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„

GitLab αž”αž„αŸ’αž αžΆαž‰αž–αŸαžαŸŒαž˜αžΆαž“αž’αŸ†αž–αžΈαž§αž‘αžΆαž αžšαžŽαŸ GitLab αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž“αŸ…αž€αŸ’αž“αž»αž„ admin/system_infoαž”αŸ‰αž»αž“αŸ’αžαŸ‚αž–αŸαžαŸŒαž˜αžΆαž“αž“αŸαŸ‡αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž˜αž·αž“αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαž‘αŸαŸ”

ΠœΡ‹ αž›αž»αž”αž•αŸ’αž“αŸ‚αž€αž“αŸαŸ‡αŸ” αž•αŸ’αž‘αžΆαŸ†αž„αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 12.0 αž αžΎαž™αž™αžΎαž„αžŸαžΌαž˜αžŽαŸ‚αž“αžΆαŸ†αž±αŸ’αž™αž”αŸ’αžšαžΎ αž‡αž˜αŸ’αžšαžΎαžŸαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαŸ”.

αž€αžΆαž›αž”αžšαž·αž…αŸ’αž†αŸαž‘β€‹αž›αž»αž”αŸ– 22 αžαŸ‚αž˜αž·αžαž»αž“αžΆ 2019

αž”αŸ’αžšαž—αž–: www.habr.com

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹