แž€แžถแžšแž…แžปแŸ‡แžˆแŸ’แž˜แŸ„แŸ‡แžŸแž˜แŸ’แžšแžถแž”แŸ‹ Slurm DevOps แž“แŸ…แž‘แžธแž€แŸ’แžšแžปแž„แž˜แŸ‰แžผแžŸแŸ’แž‚แžผแžแŸ’แžšแžผแžœแž”แžถแž“แž”แžพแž€

TL; แž€แžปแž„

Slurm DevOps แž“แžนแž„แžแŸ’แžšแžผแžœแž’แŸ’แžœแžพแžกแžพแž„แž“แŸ…แž‘แžธแž€แŸ’แžšแžปแž„แž˜แžผแžŸแŸ’แž‚แžผแž“แŸ…แžแŸ’แž„แŸƒแž‘แžธ 30 แžแŸ‚แž˜แž€แžšแžถแžŠแž›แŸ‹แžแŸ’แž„แŸƒแž‘แžธ 1 แžแŸ‚แž€แžปแž˜แŸ’แž—แŸˆแŸ”

แž‡แžถแžแŸ’แž˜แžธแž˜แŸ’แžแž„แž‘แŸ€แžแž™แžพแž„แž“แžนแž„แžœแžทแž—แžถแž‚แžงแž”แž€แžšแžŽแŸ DevOps แž“แŸ…แž€แŸ’แž“แžปแž„แž€แžถแžšแžขแž“แžปแžœแžแŸ’แžแŸ”
แž–แŸแžแŸŒแž˜แžถแž“แž›แž˜แŸ’แžขแžทแž แž“แžทแž„แž€แž˜แŸ’แž˜แžœแžทแž’แžธแž€แŸ’แžšแŸ„แž˜แž€แžถแžšแž€แžถแžแŸ‹แŸ”
SRE แžแŸ’แžšแžผแžœแž”แžถแž“แžŠแž€แž…แŸแž‰แž–แžธแž€แž˜แŸ’แž˜แžœแžทแž’แžธแž–แŸ’แžšแŸ„แŸ‡แžšแžฝแž˜แž‚แŸ’แž“แžถแž‡แžถแž˜แžฝแž™ Ivan Kruglov แž™แžพแž„แž€แŸ†แž–แžปแž„แžšแŸ€แž”แž…แŸ† Slurm SRE แžŠแžถแž…แŸ‹แžŠแŸ„แž™แžกแŸ‚แž€แŸ” แž€แžถแžšโ€‹แž”แŸ’แžšแž€แžถแžŸโ€‹แž“แžนแž„โ€‹แž˜แžถแž“โ€‹แž–แŸแž›โ€‹แž€แŸ’แžšแŸ„แž™แŸ”
แžŸแžผแž˜แžขแžšแž‚แžปแžŽแžŠแž›แŸ‹ Selectel แžŠแŸ‚แž›แž‡แžถแžขแŸ’แž“แž€แžงแž”แžแŸ’แžแž˜แŸ’แž—แžšแž”แžŸแŸ‹แž™แžพแž„แž…แžถแž”แŸ‹แžแžถแŸ†แž„แž–แžธ Slurm แžŠแŸ†แž”แžผแž„!

แž€แžถแžšแž…แžปแŸ‡แžˆแŸ’แž˜แŸ„แŸ‡แžŸแž˜แŸ’แžšแžถแž”แŸ‹ Slurm DevOps แž“แŸ…แž‘แžธแž€แŸ’แžšแžปแž„แž˜แŸ‰แžผแžŸแŸ’แž‚แžผแžแŸ’แžšแžผแžœแž”แžถแž“แž”แžพแž€

แžขแŸ†แž–แžธแž‘แžŸแŸ’แžŸแž“แžœแžทแž‡แŸ’แž‡แžถ แž€แžถแžšแžŸแž„แŸ’แžŸแŸแž™ แž“แžทแž„แž‡แŸ„แž‚แž‡แŸแž™แžŠแŸ‚แž›แž˜แžทแž“แž”แžถแž“แžšแŸ†แž–แžนแž„แž‘แžปแž€

แžแŸ’แž‰แžปแŸ†แž”แžถแž“แž…แžผแž›แžšแžฝแž˜ DevOpsConf แž“แŸ…แž‘แžธแž€แŸ’แžšแžปแž„แž˜แžผแžŸแŸ’แž‚แžผแž“แŸ…แž…แžปแž„แžแŸ‚แž€แž‰แŸ’แž‰แžถแŸ”
แžŸแŸแž…แž€แŸ’แžแžธแžŸแž„แŸ’แžแŸแž”แž“แŸƒแžขแŸ’แžœแžธแžŠแŸ‚แž›แžแŸ’แž‰แžปแŸ†แž”แžถแž“แžฎแŸ–
- DevOps แžแŸ’แžšแžผแžœแž€แžถแžšแžŠแŸ„แž™แž‚แž˜แŸ’แžšแŸ„แž„แž—แžถแž‚แž…แŸ’แžšแžพแž“แž“แŸƒแž‘แŸ†แž แŸ†แžŽแžถแž˜แžฝแž™แŸ”
- DevOps แž‚แžบแž‡แžถแžœแž”แŸ’แž”แž’แž˜แŸŒแž˜แžฝแž™ แžŠแžผแž…แž‡แžถแžœแž”แŸ’แž”แž’แž˜แŸŒแžŽแžถแž˜แžฝแž™แžŠแŸ‚แžš แžœแžถแžแŸ’แžšแžผแžœแžแŸ‚แž˜แž€แž–แžธแž€แŸ’แž“แžปแž„แž€แŸ’แžšแžปแž˜แž แŸŠแžปแž“แŸ” แžขแŸ’แž“แž€แž˜แžทแž“แžขแžถแž…แž‡แžฝแž›แžœแžทแžŸแŸ’แžœแž€แžš DevOps แž แžพแž™แžŸแžปแž”แžทแž“แŸ’แžแžแžถแž‚แžถแžแŸ‹แž“แžนแž„แž€แŸ‚แž›แž˜แŸ’แžขแžŠแŸ†แžŽแžพแžšแž€แžถแžšแŸ”
โ€” แž“แŸ…แž…แžปแž„แž”แž‰แŸ’แž…แž”แŸ‹แž“แŸƒแž”แž‰แŸ’แž‡แžธแž“แŸƒแžขแŸ’แžœแžธแžŠแŸ‚แž›แžแŸ’แžšแžผแžœแž€แžถแžšแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž•แŸ’แž›แžถแžŸแŸ‹แž”แŸ’แžแžผแžš DevOps แž˜แž€แž”แž…แŸ’แž…แŸแž€แžœแžทแž‘แŸ’แž™แžถ แž“แŸ„แŸ‡แž‚แžบแž‡แžถแžงแž”แž€แžšแžŽแŸ DevOps แžŠแŸ‚แž›แž™แžพแž„แž”แž„แŸ’แžšแŸ€แž“แŸ”

แžแŸ’แž‰แžปแŸ†แž”แžถแž“แžŠแžนแž„แžแžถแž™แžพแž„แžแŸ’แžšแžนแž˜แžแŸ’แžšแžผแžœแžŠแŸ‚แž›แž˜แžทแž“แžšแžฝแž˜แž”แž‰แŸ’แž…แžผแž›แž‘แžŸแŸ’แžŸแž“แžœแžทแž‡แŸ’แž‡แžถ แž“แžทแž„แžœแž”แŸ’แž”แž’แž˜แŸŒแžšแž”แžŸแŸ‹ DevOps แž“แŸ…แž€แŸ’แž“แžปแž„แžœแž‚แŸ’แž‚แžŸแžทแž€แŸ’แžŸแžถ แž–แžธแž–แŸ’แžšแŸ„แŸ‡แžœแžถแž˜แžทแž“แžขแžถแž…แž”แž„แŸ’แžšแŸ€แž“แž‡แžถแž”แŸ’แžšแž–แŸแž“แŸ’แž’แž”แžถแž“แž‘แŸแŸ” แžขแŸ’แž“แž€แžŽแžถแžแŸ’แžšแžผแžœแž€แžถแžšแžœแžถแž“แžนแž„แžขแžถแž“แžŸแŸ€แžœแž—แŸ…แŸ” แžฌโ€‹แž‚แžถแžแŸ‹โ€‹แž“แžนแž„โ€‹แžšแž€โ€‹แžƒแžพแž‰โ€‹แž‚แŸ’แžšแžผโ€‹แž”แž„แŸ’แžœแžนแž€โ€‹แžŠแŸโ€‹แžขแžŸแŸ’แž…แžถแžšแŸ’แž™โ€‹แž˜แŸ’แž“แžถแž€แŸ‹โ€‹แžŠแŸ‚แž›โ€‹แž“แžนแž„โ€‹แž”แž‰แŸ’แž…แžปแŸ‡โ€‹แž”แž‰แŸ’แž…แžผแž›โ€‹แžขแŸ’แž“แž€โ€‹แžšแžถแž›แŸ‹โ€‹แž‚แŸ’แž“แžถโ€‹แžŠแŸ„แž™โ€‹แž˜แž“แŸ’แžโ€‹แžŸแŸ’แž“แŸแž แŸ แž“แžทแž„โ€‹แžŸแžทแž‘แŸ’แž’แžทโ€‹แžขแŸ†แžŽแžถแž…โ€‹แžšแž”แžŸแŸ‹โ€‹แž‚แžถแžแŸ‹แŸ”

แžŠแŸ„แž™แž•แŸ’แž‘แžถแž›แŸ‹แžแŸ’แž‰แžปแŸ†แžแŸ‚แž„แžแŸ‚แž‡แžถแžขแŸ’แž“แž€แž‚แžถแŸ†แž‘แŸ’แžšแž“แŸƒ "แž…แž›แž“แžถแž–แžธแžแžถแž„แž€แŸ’แžšแŸ„แž˜" แžŠแŸ‚แž›แž‡แžถแž€แžถแžšแžขแž“แžปแžœแžแŸ’แžแž‘แŸแž–แž–แŸ’แžšแŸƒแž“แŸƒแžœแž”แŸ’แž”แž’แž˜แŸŒแžแžถแž˜แžšแž™แŸˆแžงแž”แž€แžšแžŽแŸแŸ” แžขแŸ’แžœแžธแž˜แžฝแž™แžŠแžผแž…แžขแŸ’แžœแžธแžŠแŸ‚แž›แž”แžถแž“แž–แžทแž–แžŽแŸŒแž“แžถแž“แŸ…แž€แŸ’แž“แžปแž„แž‚แž˜แŸ’แžšแŸ„แž„ The Phoenix แŸ” แž”แŸ’แžšแžŸแžทแž“แž”แžพโ€‹แž™แžพแž„โ€‹แž˜แžถแž“โ€‹แž€แžถแžšโ€‹แž’แŸ’แžœแžพโ€‹แž€แžถแžšโ€‹แž‡แžถโ€‹แž€แŸ’แžšแžปแž˜โ€‹แž‡แžถแž˜แžฝแž™ Git แž”แžถแž“โ€‹แžšแŸ€แž”แž…แŸ†โ€‹แžฑแŸ’แž™โ€‹แž”แžถแž“โ€‹แžแŸ’แžšแžนแž˜โ€‹แžแŸ’แžšแžผแžœ แž“แŸ„แŸ‡โ€‹แž™แžพแž„โ€‹แžขแžถแž…โ€‹แž”แž“แŸ’แžแŸ‚แž˜โ€‹แžœแžถโ€‹แž”แž“แŸ’แžแžทแž…แž˜แŸ’แžแž„แŸ—โ€‹แž‡แžถแž˜แžฝแž™แž“แžนแž„โ€‹แž”แž‘แž”แŸ’แž”แž‰แŸ’แž‰แžแŸ’แžแžท แž แžพแž™โ€‹แž”แž“แŸ’แž‘แžถแž”แŸ‹โ€‹แž˜แž€โ€‹แžœแžถโ€‹แž“แžนแž„โ€‹แž˜แžถแž“โ€‹แžแž˜แŸ’แž›แŸƒแŸ”

แž แžพแž™แžŠแžผแž…แž‚แŸ’แž“แžถแžŠแŸ‚แžš แž“แŸ…แž–แŸแž›แžŠแŸ‚แž›แž™แžพแž„แž€แŸ†แž–แžปแž„แžšแŸ€แž”แž…แŸ† DevOps Slurm แž‡แžถแž€แž“แŸ’แž›แŸ‚แž„แžŠแŸ‚แž›แž™แžพแž„แž€แŸ†แž–แžปแž„แž“แžทแž™แžถแž™แž‘แžถแŸ†แž„แžŸแŸ’แžšแžปแž„แžขแŸ†แž–แžธแžงแž”แž€แžšแžŽแŸ แžแŸ’แž‰แžปแŸ†แžแŸ’แž›แžถแž…แž”แŸ’แžšแžแžทแž€แž˜แŸ’แž˜แžšแž”แžŸแŸ‹แžขแŸ’แž“แž€แž…แžผแž›แžšแžฝแž˜แŸ– โ€œแžขแŸ’แž“แž€แž”แžถแž“แž“แžทแž™แžถแž™แžšแžฟแž„แžŠแŸแžขแžŸแŸ’แž…แžถแžšแŸ’แž™แŸ” แžœแžถโ€‹แž‡แžถโ€‹แžšแžฟแž„โ€‹แžขแžถแž˜แŸ‰แžถแžŸแŸ‹โ€‹แžŠแŸ‚แž›โ€‹แžแŸ’แž‰แžปแŸ†โ€‹แž“แžนแž„โ€‹แž˜แžทแž“โ€‹แžขแžถแž…โ€‹แžขแž“แžปแžœแžแŸ’แžโ€‹แž”แžถแž“โ€‹แžกแžพแž™ยปแŸ” แž˜แžถแž“โ€‹แž€แžถแžšโ€‹แžŸแž„แŸ’แžŸแŸแž™โ€‹แž‡แžถโ€‹แžแŸ’แž›แžถแŸ†แž„โ€‹แžŠแŸ‚แž›โ€‹แž™แžพแž„โ€‹แž”แžถแž“โ€‹แž”แž‰แŸ’แž…แž”แŸ‹โ€‹แž€แžถแžšโ€‹แž’แŸ’แžœแžพโ€‹แž€แž˜แŸ’แž˜แžœแžทแž’แžธโ€‹แžกแžพแž„โ€‹แžœแžทแž‰โ€‹แž—แŸ’แž›แžถแž˜แŸ—แŸ”

แž‘แŸ„แŸ‡แž‡แžถแž™แŸ‰แžถแž„แžŽแžถแž€แŸแžŠแŸ„แž™ แžขแŸ’แž“แž€แž…แžผแž›แžšแžฝแž˜แž—แžถแž‚แž…แŸ’แžšแžพแž“แž”แžถแž“แž†แŸ’แž›แžพแž™แž“แŸ…แž€แŸ’แž“แžปแž„แž€แžถแžšแžŸแŸ’แž‘แž„แŸ‹แž˜แžแžทแžแžถ แž…แŸ†แžŽแŸแŸ‡แžŠแžนแž„แžŠแŸ‚แž›แž‘แž‘แžฝแž›แž”แžถแž“แž‚แžบแžขแžถแž…แžขแž“แžปแžœแžแŸ’แžแž”แžถแž“แž€แŸ’แž“แžปแž„แž€แžถแžšแžขแž“แžปแžœแžแŸ’แž แž แžพแž™แž–แžฝแž€แž‚แŸแž“แžนแž„แžขแž“แžปแžœแžแŸ’แžแžขแŸ’แžœแžธแž˜แžฝแž™แž“แŸ…แž€แŸ’แž“แžปแž„แž”แŸ’แžšแž‘แŸแžŸแžšแž”แžŸแŸ‹แž–แžฝแž€แž‚แŸแž“แžถแž–แŸแž›แžแžถแž„แž˜แžปแžแŸ” แž€แŸ’แž“แžปแž„แž–แŸแž›แž‡แžถแž˜แžฝแž™แž‚แŸ’แž“แžถแž“แŸแŸ‡ แžขแŸ’แžœแžธแž‚แŸ’แžšแž”แŸ‹แž™แŸ‰แžถแž„แžŠแŸ‚แž›แž™แžพแž„แž”แžถแž“แž–แž“แŸ’แž™แž›แŸ‹แžแŸ’แžšแžผแžœแž”แžถแž“แžšแžฝแž˜แž”แž‰แŸ’แž…แžผแž›แž“แŸ…แž€แŸ’แž“แžปแž„แž”แž‰แŸ’แž‡แžธแž“แŸƒแžขแŸ’แžœแžธแžŠแŸ‚แž›แž˜แžถแž“แž”แŸ’แžšแž™แŸ„แž‡แž“แŸแžŠแžผแž…แž‡แžถ Git, Ansible, CI/CD, แž“แžทแž„ SRE แŸ”

แžœแžถแž‚แžฝแžšแžขแŸ„แž™แž…แž„แž…แžถแŸ†แžแžถแž“แŸ…แž–แŸแž›แžŠแŸ†แž”แžผแž„แž–แžฝแž€แž‚แŸแž€แŸแž”แžถแž“แž“แžทแž™แžถแž™แžขแŸ†แž–แžธ Slurm Kubernetes แžแžถแžœแžถแž˜แžทแž“แžขแžถแž…แž‘แŸ…แžšแžฝแž…แž‘แŸแž€แŸ’แž“แžปแž„แž€แžถแžšแž–แž“แŸ’แž™แž›แŸ‹ k3s แž€แŸ’แž“แžปแž„แžšแž™แŸˆแž–แŸแž› 8 แžแŸ’แž„แŸƒแŸ”

แž‡แžถแž˜แžฝแž™ Ivan Kruglov แžŠแŸ‚แž›แžŠแžนแž€แž“แžถแŸ†แž”แŸ’แžšแž’แžถแž“แž”แž‘ SRE แž™แžพแž„แž”แžถแž“แž™แž›แŸ‹แž–แŸ’แžšแž˜แž›แžพแž€แž˜แŸ’แž˜แžœแžทแž’แžธแžŠแžถแž…แŸ‹แžŠแŸ„แž™แžกแŸ‚แž€แž˜แžฝแž™แŸ” แž–แŸแž›แž“แŸแŸ‡แž™แžพแž„แž€แŸ†แž–แžปแž„แž–แžทแž—แžถแž€แŸ’แžŸแžถแž›แž˜แŸ’แžขแžทแž แžแŸ’แž‰แžปแŸ†แž“แžนแž„แž’แŸ’แžœแžพแž€แžถแžšแž”แŸ’แžšแž€แžถแžŸแž€แŸ’แž“แžปแž„แž–แŸแž›แž†แžถแž”แŸ‹แŸ—แž“แŸแŸ‡แŸ”

แžแžพแž“แžนแž„แž˜แžถแž“แžขแŸ’แžœแžธแž€แžพแžแžกแžพแž„แž“แŸ… Slurm 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 CI
  • 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 แž“แžทแž„แž‡แž˜แŸ’แž˜แžพแžŸแž‡แŸ†แž“แžฝแžŸ
  • แžŸแž“แŸ’แžแžทแžŸแžปแž
  • แž€แžถแžšแžขแž“แžปแžœแžแŸ’แžแž›แŸ’แžขแž”แŸ†แž•แžปแž แž“แžทแž„แžขแžถแž€แŸ’แžšแž€แŸ‹แž”แŸ†แž•แžปแžแŸ”

แž‘แžธแž€แž“แŸ’แž›แŸ‚แž„: แž‘แžธแž€แŸ’แžšแžปแž„แž˜แžผแžŸแŸ’แž‚แžผ, แž”แž“แŸ’แž‘แž”แŸ‹แžŸแž“แŸ’แž“แžทแžŸแžธแž‘แž“แŸƒแžŸแžŽแŸ’แž‹แžถแž‚แžถแžš Sevastopol แŸ”

แž€แžถแž›แž”แžšแžทแž…แŸ’แž†แŸแž‘แŸ– แž…แžถแž”แŸ‹แž–แžธแžแŸ’แž„แŸƒแž‘แžธ 30 แžแŸ‚แž˜แž€แžšแžถแžŠแž›แŸ‹แžแŸ’แž„แŸƒแž‘แžธ 1 แžแŸ‚แž€แžปแž˜แŸ’แž—แŸˆ 3 แžแŸ’แž„แŸƒแž“แŸƒแž€แžถแžšแžแžทแžแžแŸ†แŸ”

แž€แžถแžšแž…แžปแŸ‡แžˆแŸ’แž˜แŸ„แŸ‡

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

แž”แž“แŸ’แžแŸ‚แž˜แž˜แžแžทแž™แŸ„แž”แž›แŸ‹