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

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

αž‡αž˜αŸ’αžšαžΎαžŸαžŸαž αž€αžΆαžš αž“αž·αž„αž€αžΆαžšαž‡αžΌαž“αžŠαŸ†αžŽαžΉαž„αž”αž“αŸ’αžαŸ‚αž˜

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

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

αž€αžΆαžαŸ‹αž”αž“αŸ’αžαž™αž€αžΆαžšαž…αŸ†αžŽαžΆαž™αžŠαŸ„αž™αž˜αžΆαž“αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Docker containers αž“αŸ…αž›αžΎ Windows αž“αž·αž„αž€αž˜αŸ’αžšαž·αž instance-level αž€αžΆαžšαž•αŸ’αžαž›αŸ‹ clusters Kubernetes

αž™αžΎαž„αžŸαŸ’αžšαž‘αžΆαž‰αŸ‹αž’αž»αž„! αž€αž»αž„αžαžΊαž“αŸαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αž“αž’αžΆαž“αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžαž·αž…αž‡αžΆαž„αž”αžΎαž”αŸ’αžšαŸ€αž”αž’αŸ€αž”αž‘αŸ…αž“αžΉαž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αž·αž˜αŸ’αž˜αž·αž αž“αž·αž„αž’αŸ’αžœαžΎαž’αŸ„αž™αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž…αž›αŸαžαž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„αŸ” αž…αžΆαž”αŸ‹αžαžΆαŸ†αž„αž–αžΈαž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™ GitLab 11.11 αž™αžΎαž„αž‚αžΆαŸ†αž‘αŸ’αžš Windows Container Executor αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ GitLab RunnerαžŠαžΌαž…αŸ’αž“αŸαŸ‡αž₯αž‘αžΌαžœαž“αŸαŸ‡ αž’αŸ’αž“αž€αž’αžΆαž…αž”αŸ’αžšαžΎ Docker containers αž“αŸ…αž›αžΎ Windows αž αžΎαž™αžšαžΈαž€αžšαžΆαž™αž“αžΉαž„αž€αžΆαžšαžαŸ†αžšαž„αŸ‹αž‘αž·αžŸ αž“αž·αž„αžŸαž˜αžαŸ’αžαž—αžΆαž–αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž”αŸ†αž–αž„αŸ‹αž€αž˜αŸ’αžšαž·αžαžαŸ’αž–αžŸαŸ‹αŸ”

GitLab Premium (αž§αž‘αžΆαž αžšαžŽαŸαžŠαŸ‚αž›αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αžŠαŸ„αž™αžαŸ’αž›αž½αž“αž―αž„αžαŸ‚αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡) αž₯αž‘αžΌαžœαž“αŸαŸ‡αž•αŸ’αžαž›αŸ‹αž‡αžΌαž“ αž”αŸ’αžšαžΌαž€αžŸαŸŠαžΈαž’αžΆαžŸαŸ’αžšαŸαž™αžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžšαžΌαž”αž—αžΆαž– Docker. αž€αžΆαžšαž”αž“αŸ’αžαŸ‚αž˜αž“αŸαŸ‡αž“αžΉαž„αž”αž„αŸ’αž€αžΎαž“αž›αŸ’αž”αžΏαž“αž“αŸƒαž€αžΆαžšαžŠαžΉαž€αž‡αž‰αŸ’αž‡αžΌαž“ αž–αŸ’αžšαŸ„αŸ‡αž₯αž‘αžΌαžœαž“αŸαŸ‡αž’αŸ’αž“αž€αž“αžΉαž„αž˜αžΆαž“αž”αŸ’αžšαžΌαž€αžŸαŸŠαžΈαžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αž„αžΆαžαŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžšαžΌαž”αž—αžΆαž– Docker αžŠαŸ‚αž›αž”αŸ’αžšαžΎαž‰αžΉαž€αž‰αžΆαž”αŸ‹αŸ”

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

αž αžΎαž™αž“αŸ„αŸ‡αž˜αž·αž“αž˜αŸ‚αž“αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž‘αŸ!

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

αž”αž»αž‚αŸ’αž‚αž›αž·αž€αžŠαŸ‚αž›αž˜αžΆαž“αžαž˜αŸ’αž›αŸƒαž”αŸ†αž•αž»αžαž€αŸ’αž“αž»αž„αžαŸ‚αž“αŸαŸ‡ (αžšαž„αŸ’αžœαžΆαž“αŸ‹ MVP) β€” Kia Mae Somabes (Kia Mei Somabes)

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

αž˜αž»αžαž„αžΆαžšαžŸαŸ†αžαžΆαž“αŸ‹αŸ—αžšαž”αžŸαŸ‹ GitLab 11.11

Windows Container Executor αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ GitLab Runner

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

αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 11.11 αž™αžΎαž„αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαžαŸ‹αžαŸ’αž˜αžΈαž‘αŸ… GitLab Runner αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž±αŸ’αž™ Docker containers αž’αžΆαž…αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž”αžΆαž“αž“αŸ…αž›αžΎ Windows αŸ” αž–αžΈαž˜αž»αž“ αž’αŸ’αž“αž€αžαŸ’αžšαžΌαžœαž”αŸ’αžšαžΎαžŸαŸ‚αž› αžŠαžΎαž˜αŸ’αž”αžΈαžšαŸ€αž”αž…αŸ† Docker containers αž“αŸ…αž›αžΎ Windows αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž₯αž‘αžΌαžœαž“αŸαŸ‡ αž’αŸ’αž“αž€αž’αžΆαž…αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž“αžΉαž„ Docker containers αž“αŸ…αž›αžΎ Windows αžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹ αžŠαžΌαž…αž‚αŸ’αž“αžΆαž‘αŸ…αž“αžΉαž„ Linux αžŠαŸ‚αžšαŸ” αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžœαŸαž‘αž·αž€αžΆ Microsoft αž₯αž‘αžΌαžœαž“αŸαŸ‡αž˜αžΆαž“αž‡αž˜αŸ’αžšαžΎαžŸαž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αžšαžΎαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžšαŸ€αž”αž…αŸ†αž”αŸ†αž–αž„αŸ‹αž”αž„αŸ’αž αžΌαžšαž”αŸ’αžšαŸαž„ αž“αž·αž„αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αŸ”

αž€αžΆαžšαž’αžΆαž”αŸ‹αžŠαŸαžαž“αŸαŸ‡αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžš PowerShell αžŠαŸ‚αž›αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab CI/CD αž€αŸαžŠαžΌαž…αž‡αžΆαžšαžΌαž”αž—αžΆαž–αž‡αŸ†αž“αž½αž™αžαŸ’αž˜αžΈαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αŸ†αžŽαŸ‚αž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆαž“αŸƒ Windows containers αŸ” αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžš Windows αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž’αžΆαž…αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž‡αžΆαž˜αž½αž™ GitLab.com αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžœαžΆαž˜αž·αž“αž‘αžΆαž“αŸ‹αž‡αžΆαž§αž”αž€αžšαžŽαŸαžŠαŸ‚αž›αž’αžΆαž…αž”αŸ’αžšαžΎαž”αžΆαž“αž‡αžΆαžŸαžΆαž’αžΆαžšαžŽαŸˆαž“αŸ…αž‘αžΎαž™αž‘αŸαŸ”

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

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

αž–αž·αžŸαŸαžŸ, ULTIMATE

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

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

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

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

STARTER, Premium, ULTIMATE, αžŸαŸ†αžšαž·αž‘αŸ’αž’, αž”αŸ’αžšαžΆαž€αŸ‹, មអស

αžœαžΆαž‡αžΆαžšαžΏαž„αž’αž˜αŸ’αž˜αžαžΆαž‘αŸαžŠαŸ‚αž›αž˜αž“αž»αžŸαŸ’αžŸαž‡αžΆαž…αŸ’αžšαžΎαž“αž’αŸ’αžœαžΎαž€αžΆαžšαž›αžΎαž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸαž˜αž½αž™αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαžΆαžαžΆαžŠαŸ‚αž›αž”αžΆαž“αž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€ αž“αž·αž„αžŸαŸ†αžŽαžΎαž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆ αž§αž‘αžΆαž αžšαžŽαŸαž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž˜αž»αž αž“αž·αž„αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž€αŸ’αžšαŸ„αž™αž’αŸ’αžœαžΎαž€αžΆαžšαž™αŸ‰αžΆαž„αž‡αž·αžαžŸαŸ’αž“αž·αž‘αŸ’αž’αž‡αžΆαž˜αž½αž™αž‚αŸ’αž“αžΆ αž¬αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž’αŸ’αž“αž€αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž‚αžΌ αžŠαžΌαž…αž‡αžΆαž“αŸ…αž€αŸ’αž“αž»αž„ Extreme ProgrammingαŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 11.11 αž’αŸ’αž“αž€αž’αžΆαž…αž€αŸ†αžŽαžαŸ‹αž˜αž“αž»αžŸαŸ’αžŸαž…αŸ’αžšαžΎαž“αž“αžΆαž€αŸ‹αž±αŸ’αž™αž”αž‰αŸ’αž…αžΌαž›αžŸαŸ†αžŽαžΎαŸ” αžŠαžΌαž…αž‘αŸ…αž“αžΉαž„αž˜αŸ’αž…αžΆαžŸαŸ‹αž€αž·αž…αŸ’αž…αž€αžΆαžšαž…αŸ’αžšαžΎαž“αžŠαŸ‚αžš αž’αŸ’αž“αž€αž’αžΆαž…αž”αŸ’αžšαžΎαž”αž‰αŸ’αž‡αžΈ αžαž˜αŸ’αžšαž„ αž€αžΆαžšαž‡αžΌαž“αžŠαŸ†αžŽαžΉαž„ αž“αž·αž„ APIs αŸ”

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

αž€αžΆαžšβ€‹αž€αŸ†αžŽαžαŸ‹β€‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’β€‹αž…αž„αŸ’αž€αŸ„αž˜ Kubernetes αž“αŸ…β€‹αž€αž˜αŸ’αžšαž·αžβ€‹αžœαžαŸ’αžαž»

CORE, STARTER, PREMIUM, ULTIMATE

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

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

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

αž€αžΆαžšαž‡αžΌαž“αžŠαŸ†αžŽαžΉαž„αž’αŸ†αž–αžΈαž€αžΆαžšαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αž“αŸ…αž€αŸ’αž“αž»αž„ Slack and Mattermost

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

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

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

αž—αŸ’αž‰αŸ€αžœαž…αžΌαž›αž”αŸ’αžšαžΎαž”αž‰αŸ’αž αžΆ

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

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

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

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

αž€αŸ’αžšαžΆαž αŸ’αžœαž·αž…αž”αž“αŸ’αžαž”αž“αŸ’αž‘αžΆαž”αŸ‹αž”αž“αŸ’αžŸαŸ†αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„

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

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

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

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

αž“αžΆαž‘αžΈ CI Runner αž”αž“αŸ’αžαŸ‚αž˜αŸ– αž₯αž‘αžΌαžœαž“αŸαŸ‡αž˜αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‚αž˜αŸ’αžšαŸ„αž„αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒ

αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒ, αžŸαŸ†αžšαž·αž‘αŸ’αž’, αž”αŸ’αžšαžΆαž€αŸ‹, មអស

αž€αžΆαž›αž–αžΈαžαŸ‚αž˜αž»αž“ αž™αžΎαž„αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž›αž‘αŸ’αž’αž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαž‘αž·αž‰αž“αžΆαž‘αžΈ CI Runner αž”αž“αŸ’αžαŸ‚αž˜ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ‚αž‚αž˜αŸ’αžšαŸ„αž„ GitLab.com αžŠαŸ‚αž›αž”αž„αŸ‹αž”αŸ’αžšαžΆαž€αŸ‹αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž“αŸαŸ‡ αž“αžΆαž‘αžΈαž€αŸαž’αžΆαž…αž‘αž·αž‰αž”αžΆαž“αž€αŸ’αž“αž»αž„αž‚αž˜αŸ’αžšαŸ„αž„αž₯αžαž‚αž·αžαžαŸ’αž›αŸƒαž•αž„αžŠαŸ‚αžšαŸ”

αž€αŸ†αž–αž»αž„αž•αŸ’αž‘αž»αž€αž―αž€αžŸαžΆαžšαžαžαž…αž˜αŸ’αž›αž„αž‘αŸ…αžƒαŸ’αž›αžΆαŸ†αž„

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

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

αž’αžšαž‚αž»αžŽαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž„αžΆαžš Kia Mae Somabes!

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

αž€αžΆαžšβ€‹αž’αž“αž»αžœαžαŸ’αžβ€‹αž€αžΆαžšβ€‹αž•αŸ’αžŠαž›αŸ‹β€‹αž™αŸ„αž”αž›αŸ‹β€‹αž₯αž‘αžΌαžœβ€‹αž“αŸαŸ‡β€‹αž“αžΉαž„β€‹αžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™β€‹αž€αžΆαžšβ€‹αž–αž·αž—αžΆαž€αŸ’αžŸαžΆβ€‹αžŠαŸ„αž™β€‹αžŸαŸ’αžœαŸαž™β€‹αž”αŸ’αžšαžœαžαŸ’αžαž·

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

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

αž€αžΆαžšαžšαžΆαž”αŸ‹αž˜αŸ‰αŸ„αž„αž“αŸ…αž›αžΎαžšαž”αžΆαžšαž…αŸ†αž αŸ€αž„αž“αŸƒαž•αŸ’αž‘αžΆαŸ†αž„αž€αž·αž…αŸ’αž…αž€αžΆαžš

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

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

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

αž–αŸαžαŸŒαž˜αžΆαž“αž’αŸ†αž–αžΈαž€αžΆαžšαžŠαžΆαž€αŸ‹αž±αŸ’αž™αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„ Environments API

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

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

αž€αžΆαžšαž•αŸ’αž‚αžΌαž•αŸ’αž‚αž„αž’αžαŸαžšαž’αžœαž·αž‡αŸ’αž‡αž˜αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αŸ’αž”αžΆαž”αŸ‹αž”αŸ†αž–αž„αŸ‹

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

αž₯αž‘αžΌαžœαž“αŸαŸ‡ αž’αŸ’αž“αž€αž’αžΆαž…αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αžŸαž˜αž—αžΆαž–αž’αžœαž·αž‡αŸ’αž‡αž˜αžΆαž“ αž¬αž€αžΆαžšαž•αŸ’αž‚αžΌαž•αŸ’αž‚αž„αž›αŸ†αž“αžΆαŸ† (!= ΠΈ !~) αž“αŸ…αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžš .gitlab-ci.yml αž“αŸ…αž–αŸαž›αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αžαž˜αŸ’αž›αŸƒαž“αŸƒαž’αžαŸαžšαž”αžšαž·αžŸαŸ’αžαžΆαž“ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž₯αžšαž·αž™αžΆαž”αžαžšαž”αžŸαŸ‹αž”αŸ†αž–αž„αŸ‹αž”αžΆαž“αž€αžΆαž“αŸ‹αžαŸ‚αž˜αžΆαž“αž—αžΆαž–αž”αžαŸ‹αž”αŸ‚αž“αŸ”

αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αžΆαžšαž„αžΆαžšαžŠαŸ„αž™αžŠαŸƒαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž€αŸ’αž“αž»αž„αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αž˜αž½αž™αžŠαŸ„αž™αž…αž»αž…αžαŸ‚αž˜αŸ’αžαž„

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

αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 11.11 αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžŠαŸ‚αž›αž˜αžΆαž“αž€αžΆαžšαž„αžΆαžšαžŠαŸ„αž™αžŠαŸƒαž‡αžΆαž…αŸ’αžšαžΎαž“αž“αŸ…αž€αŸ’αž“αž»αž„αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαž₯αž‘αžΌαžœαž“αŸαŸ‡αž’αžΆαž…αž”αž‰αŸ’αž…αž”αŸ‹αž€αžΆαžšαž„αžΆαžšαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž€αŸ’αž“αž»αž„αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αžαŸ‚αž˜αž½αž™αžŠαŸ„αž™αž…αž»αž…αž”αŸŠαžΌαžαž»αž„αž˜αž½αž™αŸ” "αž›αŸαž„β€‹αž‘αžΆαŸ†αž„αž’αžŸαŸ‹" ("αžšαžαŸ‹αž‘αžΆαŸ†αž„αž’αžŸαŸ‹") αž“αŸ…αžαžΆαž„αžŸαŸ’αžαžΆαŸ†αž“αŸƒαžˆαŸ’αž˜αŸ„αŸ‡αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž›αž“αŸ…αž€αŸ’αž“αž»αž„αž‘αž·αžŠαŸ’αž‹αž—αžΆαž–αž”αŸ†αž–αž„αŸ‹αŸ”

αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž―αž€αžŸαžΆαžšαžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹αž–αžΈαž’αžαŸαžšαž”αžšαž·αžŸαŸ’αžαžΆαž“

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

αž’αžαŸαžšβ€‹αž”αžšαž·αžŸαŸ’αžαžΆαž“β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž”αŸ’αžšαžΎβ€‹αž‡αžΆβ€‹αž‰αžΉαž€β€‹αž‰αžΆαž”αŸ‹β€‹αžŠαžΎαž˜αŸ’αž”αžΈβ€‹αž”αž„αŸ’αž€αžΎαžβ€‹αž―αž€αžŸαžΆαžš αž‡αžΆαž–αž·αžŸαŸαžŸβ€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αž’αžΆαžαŸŒαž€αŸ†αž”αžΆαŸ†αž„β€‹αžŠαŸ‚αž›β€‹αžαŸ’αžšαžΌαžœβ€‹αž€αžΆαžšαž–αžΆαžš αž αžΎαž™β€‹αž’αžΆαž…β€‹αž…αžΌαž›β€‹αž”αŸ’αžšαžΎβ€‹αž”αžΆαž“β€‹αžαŸ‚β€‹αž€αŸ’αž“αž»αž„β€‹αž”αŸ†αž–αž„αŸ‹β€‹αž”αž„αŸ’αž αžΌαžšβ€‹αž”αžšαž·αžŸαŸ’αžαžΆαž“β€‹αž‡αžΆαž€αŸ‹αž›αžΆαž€αŸ‹β€‹αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαžŠαžΌαž…αž“αŸαŸ‡αž’αŸ’αž“αž€αž€αŸ†αžŽαžαŸ‹αž˜αžΆαžαž·αž€αžΆαž“αŸƒαž’αžαŸαžšαž‘αŸ…αž˜αžΆαžαž·αž€αžΆαž“αŸƒαž―αž€αžŸαžΆαžšαž αžΎαž™αž”αž„αŸ’αž€αžΎαžαž―αž€αžŸαžΆαžšαž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž„αžΆαžšαžŠαŸ‚αž›αž˜αžΆαž“αžαž˜αŸ’αž›αŸƒαŸ” αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž’αžαŸαžšαž”αžšαž·αžŸαŸ’αžαžΆαž“αžαŸ’αž˜αžΈαžŠαžΌαž…αž‡αžΆ file αž“αŸαŸ‡αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž€αŸ’αž“αž»αž„αž˜αž½αž™αž‡αŸ†αž αžΆαž“ αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆαž‚αŸ’αž˜αžΆαž“αž€αžΆαžšαž€αŸ‚αž”αŸ’αžšαŸ‚αž€αŸαžŠαŸ„αž™αŸ” .gitlab-ci.yml.

αž…αŸ†αžŽαž»αž…αž”αž‰αŸ’αž…αž”αŸ‹ API αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž–αŸαžαŸŒαž˜αžΆαž“αž—αžΆαž–αž„αžΆαž™αžšαž„αž‚αŸ’αžšαŸ„αŸ‡

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

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

αžŸαž˜αžαŸ’αžαž—αžΆαž–αžŸαŸ’αž€αŸαž“αžαžΆαž˜αžœαž“αŸ’αžαž–αŸαž‰αž›αŸαž‰αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ DAST

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

αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab αž’αŸ’αž“αž€αž’αžΆαž…αžŸαžΆαž€αž›αŸ’αž”αž„αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž–αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ (Dynamic Application Security Testing, DAST) αž‡αžΆαž•αŸ’αž“αŸ‚αž€αž“αŸƒαž”αŸ†αž–αž„αŸ‹ CI αŸ” αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αž“αŸαŸ‡ αž’αŸ’αž“αž€αž’αžΆαž…αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž€αžΆαžšαžŸαŸ’αž€αŸαž“αžαžΆαž˜αžœαž“αŸ’αžαž–αŸαž‰αž›αŸαž‰αž‡αŸ†αž“αž½αžŸαž±αŸ’αž™αž€αžΆαžšαžŸαŸ’αž€αŸαž“αž’αž€αž˜αŸ’αž˜αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžšαŸ” αž€αžΆαžšαžŸαŸ’αž€αŸαž“αžαžΆαž˜αžœαž“αŸ’αžαž–αŸαž‰αž›αŸαž‰αž€αžΆαžšαž–αžΆαžšαž”αŸ’αžšαž†αžΆαŸ†αž„αž“αžΉαž„αž—αžΆαž–αž„αžΆαž™αžšαž„αž‚αŸ’αžšαŸ„αŸ‡αž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αžšαžΎαž“αŸ”

αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„ Prometheus αž“αŸ…αž€αŸ’αž“αž»αž„αž…αž„αŸ’αž€αŸ„αž˜αž€αž˜αŸ’αžšαž·αžαž€αŸ’αžšαž»αž˜

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

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

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

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

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

αž”αž„αŸ’αž€αžΎαžαžαžΆαžšαžΆαž„αž˜αŸ‰αŸ‚αžαŸ’αžšαž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αž“αŸ…αž€αŸ’αž“αž»αž„αž•αŸ’αž‘αžΆαŸ†αž„αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ”

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

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

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

αž₯αž‘αžΌαžœαž“αŸαŸ‡αž”αž‰αŸ’αž αžΆαž€αžΆαžšαž‡αžΌαž“αžŠαŸ†αžŽαžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αžΎαž€αž‡αžΆ GitLab Alert Bot

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

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

αžšαž€αŸ’αžŸαžΆαž‘αž»αž€αž€αžΆαžšαž–αž·αž–αžŽαŸŒαž“αžΆαžœαžΈαžšαž—αžΆαž–αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž‘αŸ…αž€αž“αŸ’αž›αŸ‚αž„αž•αŸ’αž‘αž»αž€αž€αŸ’αž“αž»αž„αžαŸ†αž”αž“αŸ‹

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

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

αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαž€αž‰αŸ’αž…αž€αŸ‹ GitLab αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Git LFS

STARTER, Premium, ULTIMATE, αžŸαŸ†αžšαž·αž‘αŸ’αž’, αž”αŸ’αžšαžΆαž€αŸ‹, មអស

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

αž€αžΆαžšαž’αž“αž»αž‰αŸ’αž‰αžΆαžαž’αžΆαž“ αž“αž·αž„αžŸαžšαžŸαŸαžšαžƒαŸ’αž›αžΆαŸ†αž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž“αž·αž˜αž·αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαž…αžΌαž›αž”αŸ’αžšαžΎαž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“

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

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

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

αžŸαžΌαž˜αž’αžšαž‚αž»αžŽ Horatiu Evgen Vlad (Horatiu Eugen Vlad)!

αž€αžΆαžšαž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαž‡αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ†αžŽαž½αžšαž”αžΆαž…αŸ‹ GraphQL

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

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

αž…αžΌαž›αžŠαŸ„αž™αž”αŸ’αžšαžΎαž›αž·αžαž·αžαžŸαž˜αŸ’αž‚αžΆαž›αŸ‹ Salesforce

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

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

αž₯αž‘αžΌαžœαž“αŸαŸ‡ SAML SSO αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‘αžΆαž˜αž‘αžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαž‚αŸαž αž‘αŸ†αž–αŸαžš

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

ΠœΡ‹ αž€αžΆαžšαž–αž„αŸ’αžšαžΈαž€αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαž€αžΆαžšαž…αž»αŸ‡αž αžαŸ’αžαž›αŸαžαžΆαžαŸ‚αž˜αž½αž™ (SSO) αž“αŸ…αž€αž˜αŸ’αžšαž·αžαž€αŸ’αžšαž»αž˜ αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™ 11.8 αž‡αžΆαž˜αž½αž™αž“αžΉαž„αžŸαž»αž–αž›αž—αžΆαž–αž™αŸ‰αžΆαž„αžαžΉαž„αžšαžΉαž„αž“αŸƒαž’αž“αž’αžΆαž“αž€αŸ’αžšαž»αž˜ αž“αž·αž„αž‚αž˜αŸ’αžšαŸ„αž„ αžŠαžΎαž˜αŸ’αž”αžΈαž’αžΆαž“αžΆαžαžΆαž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž’αžΆαž…αž…αžΌαž›αž”αŸ’αžšαžΎαž”αžΆαž“αžαŸ‚αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž…αžΌαž›αž‡αžΆαž˜αž½αž™ SAML αŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžŸαŸ’αžšαž‘αžΆαž”αŸ‹αž”αž“αŸ’αžαŸ‚αž˜αž“αŸƒαž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αž„αŸ’αž‚αž€αžΆαžšαžŠαŸ‚αž›αž•αŸ’αžαž›αŸ‹αžαž˜αŸ’αž›αŸƒαžŠαž›αŸ‹αžŸαž»αžœαžαŸ’αžαž·αž—αžΆαž– αž“αž·αž„αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ GitLab.com αžαžΆαž˜αžšαž™αŸˆ SAML SSO αŸ” αž₯αž‘αžΌαžœαž“αŸαŸ‡ αž’αŸ’αž“αž€αž’αžΆαž…αž€αŸ†αžŽαžαŸ‹αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžš SSO αžŠαŸ„αž™αžŠαžΉαž„αžαžΆαž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž€αŸ’αžšαž»αž˜αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž€αŸ†αž–αž»αž„αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ SSOαŸ”

αžαŸ’αžšαž„αžαžΆαž˜αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž€αžΎαž αž¬αž€αŸ‚αž”αŸ’αžšαŸ‚αžαŸ’αž˜αžΈαŸ—αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ API αžœαžΈαžšαž—αžΆαž–

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

αž€αžΆαž›αž–αžΈαž˜αž»αž“ αžœαžΆαž˜αž·αž“αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž‘αŸαž€αŸ’αž“αž»αž„αž€αžΆαžšαžŸαž½αžšαžŸαŸ†αžŽαž½αžšαžŠαŸ‚αž›αž‘αžΎαž”αž”αž„αŸ’αž€αžΎαž αž¬αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ„αž™αž”αŸ’αžšαžΎ GitLab epics API αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™ 11.11 αž™αžΎαž„αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αžαž˜αŸ’αžšαž„αž”αž“αŸ’αžαŸ‚αž˜ created_after, created_before, updated_after ΠΈ updated_beforeαžŠαžΎαž˜αŸ’αž”αžΈαž’αžΆαž“αžΆαž”αžΆαž“αž“αžΌαžœαž—αžΆαž–αžŸαŸŠαžΈαžŸαž„αŸ’αžœαžΆαž€αŸ‹αž‚αŸ’αž“αžΆαž‡αžΆαž˜αž½αž™ API αž€αž·αž…αŸ’αž…αž€αžΆαžš αž“αž·αž„αžŸαŸ’αžœαŸ‚αž„αžšαž€αžœαžΈαžšαž—αžΆαž–αžŠαŸ‚αž›αž”αžΆαž“αž€αŸ‚αž”αŸ’αžšαŸ‚ αž¬αž‘αžΎαž”αž”αž„αŸ’αž€αžΎαžαžαŸ’αž˜αžΈαž™αŸ‰αžΆαž„αž†αžΆαž”αŸ‹αžšαž αŸαžŸαŸ”

αž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž‡αžΈαžœαž˜αžΆαžαŸ’αžšαžŠαŸ„αž™αž”αŸ’αžšαžΎ UltraAuth

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

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

αžŸαžΌαž˜αž’αžšαž‚αž»αžŽ Karthiki Tanna (Kartikey Tanna)!

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

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

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

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

CORE, STARTER, PREMIUM, ULTIMATE

αž™αžΎαž„αž”αžΆαž“αž’αŸ’αžœαžΎαž€αžΆαžšαž€αŸ‚αž›αž˜αŸ’αž’αžŠαžΌαž…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αž‘αŸ… Omnibus αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 11.11αŸ–

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

CORE, STARTER, PREMIUM, ULTIMATE

αž™αžΎαž„β€‹αž”αžΆαž“β€‹αž’αŸ’αžœαžΎβ€‹αž€αžΆαžšβ€‹αž€αŸ‚β€‹αž›αž˜αŸ’αž’β€‹αžŠαžΌαž…β€‹αžαžΆαž„β€‹αž€αŸ’αžšαŸ„αž˜β€‹αž…αŸ†αž–αŸ„αŸ‡β€‹αžαžΆαžšαžΆαž„ Helm αž€αŸ’αž“αž»αž„ GitLab 11.11αŸ–

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

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

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

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

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 αž€αžΆαžšαž–αŸ’αžšαž˜αžΆαž“αžŠαŸ‚αž›αž”αž·αž‘αž‡αžΆαž’αž…αž·αž“αŸ’αžαŸ’αžšαŸƒαž™αŸαž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αž“αŸ…αž›αžΎαž‘αŸ†αž–αŸαžš αžαŸ†αž”αž“αŸ‹αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„ β€Ί Geo β€Ί αžαŸ’αž“αžΆαŸ†αž„αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αžαžΆαž„αž›αžΎαž˜αž·αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αž‰αŸ’αž‰αžΆαžαŸ” gitlab-ee!8433.

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

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

GitLab Geo αž“αžΉαž„αž“αžΆαŸ†αž™αž€ PG FDW αž‘αŸ… GitLab 12.0

αž“αŸαŸ‡αž‚αžΊαž…αžΆαŸ†αž”αžΆαž…αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Geo Log Cursor αž–αŸ’αžšαŸ„αŸ‡αžœαžΆαž’αŸ’αžœαžΎαž’αŸ„αž™αž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„αž™αŸ‰αžΆαž„αžαŸ’αž›αžΆαŸ†αž„αž“αžΌαžœαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸƒαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαž’αŸ’αžœαžΎαžŸαž˜αž€αžΆαž›αž€αž˜αŸ’αž˜αž˜αž½αž™αž…αŸ†αž“αž½αž“αŸ” αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž“αŸƒαžŸαŸ†αžŽαž½αžšαžŸαŸ’αžαžΆαž“αž—αžΆαž–αžαŸ’αž“αžΆαŸ†αž„ Geo αž€αŸαž”αŸ’αžšαžŸαžΎαžšαž‘αžΎαž„αž•αž„αžŠαŸ‚αžšαŸ” αžŸαŸ†αžŽαž½αžšαž–αžΈαž˜αž»αž“αž˜αžΆαž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž˜αž·αž“αž›αŸ’αž’αžαŸ’αž›αžΆαŸ†αž„αž›αžΎαž‚αž˜αŸ’αžšαŸ„αž„αž’αŸ†αŸ—αŸ” αžŸαžΌαž˜αž˜αžΎαž›αž–αžΈαžšαž”αŸ€αž”αžαŸ†αž‘αžΎαž„αžœαžΆαž“αŸ…αž€αŸ’αž“αž»αž„ αž€αžΆαžšαž…αž˜αŸ’αž›αž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αž·αž“αŸ’αž“αž“αŸαž™αž—αžΌαž˜αž·αžŸαžΆαžŸαŸ’αžαŸ’αžš. αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 12.0 Geo αž“αžΉαž„αž‘αžΆαž˜αž‘αžΆαžš PG FDW αŸ” αžŸαž„αŸ‹β€‹αž‘αžΈβ€‹αž˜αŸ‰αŸ‚β€‹αžαŸ” gitlab-ee #11006.

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

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

αž‡αž˜αŸ’αžšαžΎαžŸαž‘αžΆαŸ†αž„αž“αŸαŸ‡αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž™αž€αž…αŸαž‰αž–αžΈαž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 12.0 αž αžΎαž™αž“αžΉαž„αž˜αžΆαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžš gitlab.yml. αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡αž‘αŸ€αž αž’αŸ’αž“αž€αž’αžΆαž…αž€αŸ†αžŽαžαŸ‹αž”αžšαž·αž™αžΆαž€αžΆαžŸ Sentry αžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ‚αž„αž…αŸ‚αž€αž—αžΆαž–αžαž»αžŸαž‚αŸ’αž“αžΆαžšαžœαžΆαž„αž€αžΆαžšαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αž…αŸ’αžšαžΎαž“αŸ” αž§αž‘αžΆαž αžšαžŽαŸ αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸ αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž› αž“αž·αž„αž€αžΆαžšαž•αž›αž·αžαŸ” αžŸαž„αŸ‹β€‹αž‘αžΈβ€‹αž˜αŸ‰αŸ‚β€‹αžαŸ” gitlab-ce #49771.

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

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž…αŸ†αž“αž½αž“αž’αžαž·αž”αžšαž˜αžΆαž“αŸƒαž”αŸ†αž–αž„αŸ‹αžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž€αŸ’αž“αž»αž„αž˜αž½αž™αž€αžΆαžšαžŠαžΆαž€αŸ‹αžŸαŸ’αž“αžΎ

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

αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž“αŸ…αž–αŸαž›αžšαž»αž‰αžƒαŸ’αž›αžΆαŸ†αž„αž’αŸ†αžŠαŸ‚αž›αž˜αžΆαž“αžŸαžΆαžαžΆαžŸαž€αž˜αŸ’αž˜αž‡αžΆαž…αŸ’αžšαžΎαž“ (αž§αž‘αžΆαž αžšαžŽαŸ αž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈ αž†αŸ’αž›αž»αŸ‡ αž¬αž€αžΆαžαŸ‹αž˜αŸ‚αž€) αž’αŸ’αž“αž€αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž”αž„αŸ’αž€αžΎαžαž”αŸ†αž–αž„αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαžΆαžαžΆαž“αžΈαž˜αž½αž™αŸ—αž‘αŸαŸ” αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž‡αžΆαž˜αž½αž™ GitLab 11.10 αž™αžΎαž„αž€αŸ†αž–αž»αž„αž”αž„αŸ’αž€αžΎαž αž’αžαž·αž”αžšαž˜αžΆ 4 αž”αŸ†αž–αž„αŸ‹ αž“αŸ…αž–αŸαž›αž•αŸ’αž‰αžΎαŸ”

αž€αžΆαž›αž”αžšαž·αž…αŸ’αž†αŸαž‘β€‹αž›αž»αž”αŸ– αžŠαŸ†αž”αŸ‚ 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 Runner

αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab Runner 11.10 αž™αžΎαž„ αž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž±αž€αžΆαžŸαž˜αž½αž™αŸ” αž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžšαž”αŸ€αž”αžŠαŸ‚αž› Runner αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ git clean. αž›αžΎαžŸαž–αžΈαž“αŸαŸ‡αž™αž»αž‘αŸ’αž’αžŸαžΆαžŸαŸ’αžαŸ’αžšαžŸαž˜αŸ’αž’αžΆαžαžαŸ’αž˜αžΈαžŠαž€αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ git reset αž αžΎαž™αžŠαžΆαž€αŸ‹αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ git clean αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž‡αŸ†αž αžΆαž“αžŠαž€αŸ”

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

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

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

αž‚αŸ†αžšαžΌαž‚αž˜αŸ’αžšαŸ„αž„αž€αŸ’αžšαž»αž˜ αž˜αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ‚αž‚αž˜αŸ’αžšαŸ„αž„ Silver/Premium αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ”

αž“αŸ…αž–αŸαž›αž™αžΎαž„αžŽαŸ‚αž“αžΆαŸ†αž‚αŸ†αžšαžΌαž‚αž˜αŸ’αžšαŸ„αž„αž€αž˜αŸ’αžšαž·αžαž€αŸ’αžšαž»αž˜αž€αŸ’αž“αž»αž„ 11.6 αž™αžΎαž„αž”αžΆαž“αž’αŸ’αžœαžΎαž±αŸ’αž™αž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸ Premium/Silver αž“αŸαŸ‡αž˜αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‚αž˜αŸ’αžšαŸ„αž„αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αŸ”

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

αž…αžΆαž”αŸ‹αž–αžΈαžαŸ’αž„αŸƒαž‘αžΈ 22 αžαŸ‚αžŸαžΈαž αžΆ αž†αŸ’αž“αžΆαŸ† 2019 αžαž‘αŸ… αž‚αŸ†αžšαžΌαž‚αž˜αŸ’αžšαŸ„αž„αž€αŸ’αžšαž»αž˜αž“αžΉαž„αž˜αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαŸ‚αž‚αž˜αŸ’αžšαŸ„αž„ Silver/Premium αž“αž·αž„αžαŸ’αž–αžŸαŸ‹αž‡αžΆαž„αž“αŸαŸ‡ αžŠαžΌαž…αžŠαŸ‚αž›αž”αžΆαž“αž–αž·αž–αžŽαŸŒαž“αžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž―αž€αžŸαžΆαžšαŸ”

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

αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž„αžΆαžšαž”αžŽαŸ’αžαž»αŸ†αžœαžΈαž“αžŠαžΌαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αžˆαž”αŸ‹

αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 13.0 (αžαŸ’αž„αŸƒαž‘αžΈ 22 αžαŸ‚αž˜αž·αžαž»αž“αžΆ αž†αŸ’αž“αžΆαŸ† 2020) αž™αžΎαž„αž˜αžΆαž“αž‚αž˜αŸ’αžšαŸ„αž„αžŠαž€αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž„αžΆαžšαž”αžŽαŸ’αžαž»αŸ†αž”αž“αŸ’αž‘αžΆαžαŸ‹αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαžšαž”αžŸαŸ‹ Windows αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab Runner (ឧ. cmd.exe) αžŠαžΎαž˜αŸ’αž”αžΈαž‚αžΆαŸ†αž‘αŸ’αžšαžŠαž›αŸ‹αž€αžΆαžšαž–αž„αŸ’αžšαžΉαž„αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Windows PowerShell αŸ” αž–αŸαžαŸŒαž˜αžΆαž“αž›αž˜αŸ’αž’αž·αžαž”αž“αŸ’αžαŸ‚αž˜αž“αŸ…αž€αŸ’αž“αž»αž„ αž€αž·αž…αŸ’αž…αž€αžΆαžšαž“αŸαŸ‡αŸ”.

αž…αž€αŸ’αžαž»αžœαž·αžŸαŸαž™αžšαž”αžŸαŸ‹αž™αžΎαž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαž αž‚αŸ’αžšαžΆαžŸ DevOps αž₯αž‘αžΌαžœαž“αŸαŸ‡αž“αžΉαž„αžŸαŸ’αžšαž”αžαžΆαž˜αž‡αŸ†αž αžšαžšαž”αžŸαŸ‹ Microsoft αžŠαŸ‚αž›αžαžΆ PowerShell αž‚αžΊαž‡αžΆαž‡αž˜αŸ’αžšαžΎαžŸαžŠαŸαž›αŸ’αž’αž”αŸ†αž•αž»αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž€αž˜αŸ’αž˜αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŸαž αž‚αŸ’αžšαžΆαžŸαž“αŸ…αž€αŸ’αž“αž»αž„αž”αžšαž·αžŸαŸ’αžαžΆαž“αžœαžΈαž“αžŠαžΌαŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž…αž„αŸ‹αž”αž“αŸ’αžαž”αŸ’αžšαžΎ cmd.exeαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαž‘αžΆαŸ†αž„αž“αŸαŸ‡αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž αŸ…αž…αŸαž‰αž–αžΈ PowerShell αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž™αžΎαž„αž“αžΉαž„αž˜αž·αž“αž‚αžΆαŸ†αž‘αŸ’αžšαžŠαŸ„αž™αž•αŸ’αž‘αžΆαž›αŸ‹αž“αžΌαžœαž€αžΆαžšαž„αžΆαžšαž”αžŽαŸ’αžαž»αŸ†αžšαž”αžŸαŸ‹ Windows αžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αž—αžΆαž–αž˜αž·αž“αžŸαŸŠαžΈαžŸαž„αŸ’αžœαžΆαž€αŸ‹αž‚αŸ’αž“αžΆαž‡αžΆαž…αŸ’αžšαžΎαž“αžŠαŸ‚αž›αž”αžŽαŸ’αžαžΆαž›αž±αŸ’αž™αž˜αžΆαž“αž€αžΆαžšαžαŸ‚αž‘αžΆαŸ† αž“αž·αž„αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžαŸ’αž–αžŸαŸ‹αŸ”

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

αž‘αžΆαž˜αž‘αžΆαžš Git 2.21.0 αž¬αžαŸ’αž–αžŸαŸ‹αž‡αžΆαž„αž“αŸαŸ‡αŸ”

αž…αžΆαž”αŸ‹αžαžΆαŸ†αž„αž–αžΈ GitLab 11.11, Git 2.21.0 αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‘αžΆαž˜αž‘αžΆαžšαžŠαžΎαž˜αŸ’αž”αžΈαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαŸ” Omnibus GitLab αžŠαžΉαž€αž‡αž‰αŸ’αž‡αžΌαž“αž‡αžΆαž˜αž½αž™ Git 2.21.0 αžšαž½αž…αž αžΎαž™αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž“αŸƒαž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αžŠαžΎαž˜αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αŸ†αžŽαŸ‚αž˜αž»αž“αžšαž”αžŸαŸ‹ Git αž“αžΉαž„αžαŸ’αžšαžΌαžœαžŠαŸ†αž‘αžΎαž„αž€αŸ†αžŽαŸ‚αŸ”

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

αž‚αŸ†αžšαžΌαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ Kubernetes αž…αžΆαžŸαŸ‹

αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 12.0 αž™αžΎαž„αž˜αžΆαž“αž‚αž˜αŸ’αžšαŸ„αž„αž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈαž†αŸ’αž„αžΆαž™αž–αžΈαž‚αŸ†αžšαžΌαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ Kubernetes αž“αŸ…αž€αž˜αŸ’αžšαž·αžαž§αž‘αžΆαž αžšαžŽαŸ αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž–αŸαž‰αž…αž·αžαŸ’αžαž“αŸƒαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž…αž„αŸ’αž€αŸ„αž˜αž€αž˜αŸ’αžšαž·αžαžœαžαŸ’αžαž»αžŠαŸ‚αž›αž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ†αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 11.11 αŸ”

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

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

αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž…αŸαž‰αž–αžΈαž€αžΆαžšαž•αŸ’αž‚αžΌαž•αŸ’αž‚αž„αžŸαŸ’αž›αžΆαž€ app αž“αŸ…αž›αžΎαž”αž“αŸ’αž‘αŸ‡αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™ Kubernetes

αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 12.0 αž™αžΎαž„αž˜αžΆαž“αž‚αž˜αŸ’αžšαŸ„αž„αž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈαž†αŸ’αž„αžΆαž™αž–αžΈαž€αžΆαžšαž•αŸ’αž‚αžΌαž•αŸ’αž‚αž„αžŠαŸ„αž™αžŸαŸ’αž›αžΆαž€αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž“αŸ…αž€αŸ’αž“αž»αž„αž§αž”αž€αžšαžŽαŸαž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž€αžΆαžšαžŠαžΆαž€αŸ‹αž±αŸ’αž™αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ Kubernetes αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„ GitLab 11.10 αž™αžΎαž„αž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ† αž™αž“αŸ’αžαž€αžΆαžšαž•αŸ’αž‚αžΌαž•αŸ’αž‚αž„αžαŸ’αž˜αžΈαŸ”αžŠαŸ‚αž›αžŸαŸ’αžœαŸ‚αž„αžšαž€αž€αžΆαžšαž”αŸ’αžšαž€αž½αžαžŠαŸ„αž™ app.example.com/app ΠΈ app.example.com/envαžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž αžΆαž‰αž€αžΆαžšαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αž“αŸ…αž›αžΎαž”αž“αŸ’αž‘αŸ‡αŸ”

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

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

αž€αž‰αŸ’αž…αž”αŸ‹ GitLab 12.0 αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αž»αŸ‡αž αžαŸ’αžαž›αŸαžαžΆαžŠαŸ„αž™αž αžαŸ’αžαž›αŸαžαžΆαž”αž“αŸ’αžαŸ‚αž˜

αžαŸ’αž„αŸƒαž‘αžΈ 2 αžαŸ‚αž§αžŸαž—αžΆ αž†αŸ’αž“αžΆαŸ† 2019 GitLab αž”αžΆαž“αž–αž„αŸ’αžšαžΈαž€αžšαž™αŸˆαž–αŸαž›αžŸαž»αž–αž›αž—αžΆαž–αž“αŸƒαž€αžΆαžšαž…αž»αŸ‡αž αžαŸ’αžαž›αŸαžαžΆαž›αžΎαžŸαŸ„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž‰αŸ’αž…αž”αŸ‹ Omnibus GitLab αž…αžΆαž”αŸ‹αž–αžΈαžαŸ’αž„αŸƒαž‘αžΈ 01.08.2019/01.07.2020/XNUMX αžŠαž›αŸ‹αžαŸ’αž„αŸƒαž‘αžΈ XNUMX/XNUMX/XNUMXαŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž€αŸ†αž–αž»αž„αž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž αžαŸ’αžαž›αŸαžαžΆαž€αž‰αŸ’αž…αž”αŸ‹ αž αžΎαž™αž…αž„αŸ‹αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αžŸαŸ„ αžŸαžΌαž˜αž’αŸ’αžœαžΎαžαžΆαž˜αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αž˜αŸ’αžαž„αž‘αŸ€αž αž―αž€αžŸαžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž…αž»αŸ‡αž αžαŸ’αžαž›αŸαžαžΆαž›αžΎαž€αž‰αŸ’αž…αž”αŸ‹ Omnibus.

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

αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž€αŸ†αžŽαžαŸ‹αž αŸαžαž»

αžšαž€αž˜αžΎαž›αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸαŸ‡αž“αŸ…αž€αŸ’αž“αž»αž„ changelogαŸ–

αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹

αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž€αŸ†αž–αž»αž„αžŠαŸ†αž‘αžΎαž„αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„ GitLab αžαŸ’αž˜αžΈ αžŸαžΌαž˜αž…αžΌαž›αž‘αŸ…αž€αžΆαž“αŸ‹ αž‘αŸ†αž–αŸαžšαž‘αžΆαž‰αž™αž€ GitLab.

αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–

β†’ αž–αž·αž“αž·αžαŸ’αž™ αž‘αŸ†αž–αŸαžšαž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–

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

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