αž™αžΎαž„αžŸαžΌαž˜αž’αž‰αŸ’αž‡αžΎαž‰αž’αŸ’αž“αž€αž‘αŸ…αž€αžΆαž“αŸ‹ "Slurm DevOps: αž§αž”αž€αžšαžŽαŸ & αž”αŸ„αž€" αžŠαŸ‚αž›αž–αžΉαž„αž•αŸ’αž’αŸ‚αž€αžαŸ’αž›αžΆαŸ†αž„αž›αžΎαž’αŸŠαžΈαž“αž’αžΊαžŽαž·αž

αžαžΆαž˜αž’αŸŠαžΈαž“αž’αžΊαžŽαž·αžαž“αžΉαž„αž”αŸ’αžšαž–αŸ’αžšαžΉαžαŸ’αžαž‘αŸ…αž“αŸ…αžαŸ’αž„αŸƒαž‘αžΈ 19-21 αžαŸ‚αžŸαžΈαž αžΆ Slurm DevOpsαŸ– αž§αž”αž€αžšαžŽαŸ αž“αž·αž„αž”αŸ„αž€.

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

αžœαž‚αŸ’αž‚αžŸαž·αž€αŸ’αžŸαžΆαž‚αžΊαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αŸ–

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

αžœαž‚αŸ’αž‚αžŸαž·αž€αŸ’αžŸαžΆαž‚αžΊαž‚αŸ’αž˜αžΆαž“αž”αŸ’αžšαž™αŸ„αž‡αž“αŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αžŠαŸ‚αž›αžŠαžΉαž„ αž“αž·αž„αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž§αž”αž€αžšαžŽαŸ DevOps αžšαž½αž…αž αžΎαž™αŸ” αž’αŸ’αž“αž€αž“αžΉαž„αž˜αž·αž“αžšαŸ€αž“αž’αŸ’αžœαžΈαžαŸ’αž˜αžΈαž‘αŸαŸ”

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

αž™αžΎαž„αžŸαžΌαž˜αž’αž‰αŸ’αž‡αžΎαž‰αž’αŸ’αž“αž€αž‘αŸ…αž€αžΆαž“αŸ‹ "Slurm DevOps: αž§αž”αž€αžšαžŽαŸ & αž”αŸ„αž€" αžŠαŸ‚αž›αž–αžΉαž„αž•αŸ’αž’αŸ‚αž€αžαŸ’αž›αžΆαŸ†αž„αž›αžΎαž’αŸŠαžΈαž“αž’αžΊαžŽαž·αž

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

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

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

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

αž“αžΉαž„αž˜αž·αž“αž˜αžΆαž“ Kubernetes αž‘αŸαŸ” - αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆαž“αŸαŸ‡αž‡αžΆαž§αž”αž€αžšαžŽαŸ DevOps αž€αŸαžŠαŸ„αž™ αž€αŸαž™αžΎαž„αž˜αžΆαž“ αžαŸ’αž›αžΆαŸ†αž„αžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€.

αžαžΎαž“αžΉαž„αž˜αžΆαž“αž’αŸ’αžœαžΈαž€αžΎαžαž‘αžΎαž„?

αž“αžΉαž„ αžŸαŸ’αž‚αžΆαž›αŸ‹αž§αž”αž€αžšαžŽαŸαž–αžΈαžŠαŸ†αž”αžΌαž„ αž“αž·αž„αžŸαŸ†αžŽαž»αŸ†αž–αŸαž‰αž›αŸαž‰αž“αŸƒαžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž€αžŸαžΆαž„αž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αŸ”

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

αž“αžΉαž„αž˜αžΆαž“αž‡αžΆαžšαŸ€αž„αžšαžΆαž›αŸ‹αžαŸ’αž„αŸƒ αž…αž˜αŸ’αž›αžΎαž™αž…αŸ†αž–αŸ„αŸ‡αžŸαŸ†αžŽαž½αžš, αžŠαŸ‚αž›αž‡αžΆαž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αž’αŸ’αž“αž€αž’αžΆαž…αžŸαž½αžšαž’αŸ†αž–αžΈαž‚αž˜αŸ’αžšαŸ„αž„αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αŸ”

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

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

αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαŸ‚αž›αž–αžΉαž„αž•αŸ’αž’αŸ‚αž€αžαŸ’αž›αžΆαŸ†αž„

αž”αŸ’αžšαž’αžΆαž“αž”αž‘αž‘αžΈ αŸ’αŸ– αž€αžΆαžšαž„αžΆαžšαž‡αžΆαž€αŸ’αžšαž»αž˜αž‡αžΆαž˜αž½αž™ Git

  • αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“ git init, commit, add, diff, log, status, pull, push
  • αž›αŸ†αž αžΌαžš Git, សអខអ αž“αž·αž„αžŸαŸ’αž›αžΆαž€, αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž“αžΌαžœαž™αž»αž‘αŸ’αž’αžŸαžΆαžŸαŸ’αžšαŸ’αž
  • αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž’αŸ’αž“αž€αžαŸ†αžŽαžΆαž„αž–αžΈαž…αž˜αŸ’αž„αžΆαž™αž…αŸ’αžšαžΎαž“αŸ”
  • αž›αŸ†αž αžΌαžš GitHub
  • សម, αž–αžΈαž…αž˜αŸ’αž„αžΆαž™, αž‘αžΆαž‰αžŸαŸ†αžŽαžΎ
  • αž‡αž˜αŸ’αž›αŸ„αŸ‡ αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™ αž‡αžΆαžαŸ’αž˜αžΈαž˜αŸ’αžαž„αž‘αŸ€αžαž’αŸ†αž–αžΈ Gitflow αž“αž·αž„αž›αŸ†αž αžΌαžšαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„αž€αŸ’αžšαž»αž˜

αž”αŸ’αžšαž’αžΆαž“αž”αž‘αž‘αžΈ αŸ₯αŸ– αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžαžΆαž˜αž‘αžŸαŸ’αžŸαž“αŸˆαž’αž—αž·αžœαžŒαŸ’αžαž“αŸ

  • αž€αžΆαžšαžŸαžšαžŸαŸαžšαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž˜αžΈαž€αŸ’αžšαžΌαž“αŸ…αž€αŸ’αž“αž»αž„ Python
  • αž’αžαŸαžšβ€‹αž”αžšαž·αžŸαŸ’αžαžΆαž“
  • αž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž“αž·αž„αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαž―αž€αžαžΆ
  • αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ docker-compose αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸ

αž”αŸ’αžšαž’αžΆαž“αž”αž‘αž‘αžΈ αŸ£αŸ– CI/CDαŸ– αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αž’αŸ†αž–αžΈαžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž€αž˜αŸ’αž˜

  • αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αž’αŸ†αž–αžΈαžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž€αž˜αŸ’αž˜
  • αž§αž”αž€αžšαžŽαŸ (bash, make, gradle)
  • αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ git-hooks αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž€αž˜αŸ’αž˜αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš
  • αž”αž“αŸ’αž‘αžΆαžαŸ‹αžŠαŸ†αž‘αžΎαž„αžšαŸ„αž„αž…αž€αŸ’αžš αž“αž·αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαž“αŸ…αž€αŸ’αž“αž»αž„ IT
  • αž§αž‘αžΆαž αžšαžŽαŸαž“αŸƒαž€αžΆαžšαžŸαžΆαž„αžŸαž„αŸ‹αž”αŸ†αž–αž„αŸ‹ "αž‘αžΌαž‘αŸ…"
  • αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‘αŸ†αž“αžΎαž”αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ CI/CDαŸ– Drone CI, BitBucket Pipelines, Travis αž‡αžΆαžŠαžΎαž˜αŸ”

αž”αŸ’αžšαž’αžΆαž“αž”αž‘αž‘αžΈαŸ€αŸ– CI/CDαŸ– αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™ GitLab

  • GitLab αžŸαŸŠαžΈαž’αžΆαž™
  • GitLab Runner αž”αŸ’αžšαž—αŸαž‘ αž“αž·αž„αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžšαž”αžŸαŸ‹αž–αž½αž€αž‚αŸαŸ”
  • GitLab CI, αž˜αž»αžαž„αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’, αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž›αŸ’αž’αž”αŸ†αž•αž»αž
  • αžŠαŸ†αžŽαžΆαž€αŸ‹αž€αžΆαž› GitLab CI
  • ធថេរ GitLab CI
  • αžŸαžΆαž„αžŸαž„αŸ‹, αžŸαžΆαž€αž›αŸ’αž”αž„, αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™
  • αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„ αž“αž·αž„αž€αžΆαžšαžšαžΉαžαž”αž“αŸ’αžαžΉαž„αž€αžΆαžšαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αŸ– αž˜αžΆαž“αžαŸ‚αž“αŸ…αž–αŸαž›αžŽαžΆ
  • αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αžœαžαŸ’αžαž»αž”αž»αžšαžΆαžŽ
  • αž‚αŸ†αžšαžΌαž“αŸ…αžαžΆαž„αž€αŸ’αž“αž»αž„ .gitlab-ci.yml αž”αŸ’αžšαžΎαž‘αžΎαž„αžœαž·αž‰αž“αžΌαžœαžŸαž€αž˜αŸ’αž˜αž—αžΆαž–αž“αŸ…αž€αŸ’αž“αž»αž„αž•αŸ’αž“αŸ‚αž€αž•αŸ’αžŸαŸαž„αŸ—αž“αŸƒαž”αŸ†αž–αž„αŸ‹αž”αž„αŸ’αž αžΌαžšαž”αŸ’αžšαŸαž„
  • αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž› - αž•αŸ’αž“αŸ‚αž€
  • αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αžŽαŸ’αžαžΆαž›αž“αŸƒ gitlab-ci.yml (αž―αž€αžŸαžΆαžšαž˜αž½αž™ αž“αž·αž„αž€αžΆαžšαž‡αŸ†αžšαž»αž‰αžŠαŸ„αž™αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž‘αŸ…αž€αžΆαž“αŸ‹αžƒαŸ’αž›αžΆαŸ†αž„αž•αŸ’αžŸαŸαž„αž‘αŸ€αž)

αž”αŸ’αžšαž’αžΆαž“αž”αž‘αž‘αžΈαŸ¦αŸ– αž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‡αžΆαž€αžΌαžŠ

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

αž”αŸ’αžšαž’αžΆαž“αž”αž‘αž‘αžΈαŸ§αŸ– αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αžαž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’

  • αž€αžΆαžšαž’αŸ’αžœαžΎαžαŸαžŸαŸ’αž αž“αž·αž„αž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‡αžΆαž”αž“αŸ’αžαž”αž“αŸ’αž‘αžΆαž”αŸ‹αž‡αžΆαž˜αž½αž™ Molecule αž“αž·αž„ GitLab CI
  • αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ Vagrant

αž”αŸ’αžšαž’αžΆαž“αž”αž‘αž‘αžΈαŸ§αŸ– αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‡αžΆαž˜αž½αž™ Prometheus

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

αž”αŸ’αžšαž’αžΆαž“αž”αž‘αž‘αžΈαŸ‘αŸ αŸ– αž€αžΆαžšαž€αžαŸ‹αžαŸ’αžšαžΆαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‡αžΆαž˜αž½αž™ ELK

  • αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž€αžΆαžšαž€αžΆαž”αŸ‹αžˆαžΎαž›αŸ’αž’αž”αŸ†αž•αž»αž
  • αž‡αž„αŸ‹ ELK

αž”αŸ’αžšαž’αžΆαž“αž”αž‘αž‘αžΈαŸ©αŸ– αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž€αž˜αŸ’αž˜αž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‡αžΆαž˜αž½αž™ ChatOps

  • DevOps αž“αž·αž„ ChatOps
  • ChatOpsαŸ– αž…αŸ†αžŽαž»αž…αžαŸ’αž›αžΆαŸ†αž„
  • αž—αžΆαž–αž™αžΊαžαž™αŸ‰αžΆαžœ αž“αž·αž„αž‡αž˜αŸ’αž˜αžΎαžŸαž‡αŸ†αž“αž½αžŸ
  • Bots αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ ChatOps
  • Hubot αž“αž·αž„αž‡αž˜αŸ’αž˜αžΎαžŸαž‡αŸ†αž“αž½αžŸ
  • αžŸαž“αŸ’αžαž·αžŸαž»αž
  • αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαž›αŸ’αž’αž”αŸ†αž•αž»αž αž“αž·αž„αž’αžΆαž€αŸ’αžšαž€αŸ‹αž”αŸ†αž•αž»αžαŸ”

αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžš αž αžΎαž™αž’αžΆαž…αž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž”αž“αŸ’αžαž·αž…αŸ”

αžαž˜αŸ’αž›αŸƒαŸ– 30 β‚½

αž€αžΆαžšαž…αž»αŸ‡αžˆαŸ’αž˜αŸ„αŸ‡

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

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