Slurm DevOps αŸ” αž“αŸ…β€‹αžαŸ’αž„αŸƒβ€‹αžŠαŸ†αž”αžΌαž„αŸ” Git, CI/CD, IaC αž“αž·αž„αžŠαžΆαž™αžŽαžΌαžŸαŸαžšαž”αŸƒαžαž„

αž“αŸ…αžαŸ’αž„αŸƒαž‘αžΈ 4 αžαŸ‚αž€αž‰αŸ’αž‰αžΆ DevOps Slurm αž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž“αŸ… St.

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

Slurm DevOps αŸ” αž“αŸ…β€‹αžαŸ’αž„αŸƒβ€‹αžŠαŸ†αž”αžΌαž„αŸ” Git, CI/CD, IaC αž“αž·αž„αžŠαžΆαž™αžŽαžΌαžŸαŸαžšαž”αŸƒαžαž„

αž“αŸ…αžαŸ’αž„αŸƒαžŠαŸ†αž”αžΌαž„αž“αŸƒ Slurm αžœαžΆαž‚αŸ’αž˜αž·αž“αž”αžΈαž“αžΆαž€αŸ‹αž”αžΆαž“αž“αž·αž™αžΆαž™αž‘αŸ…αž€αžΆαž“αŸ‹αž’αŸ’αž“αž€αž…αžΌαž›αžšαž½αž˜αŸ”

Pavel Selivanov αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αžšαžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž“αŸ… Southbridge αž”αžΆαž“αž…αžΌαž›αžšαž½αž˜αž€αŸ’αž“αž»αž„αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž’αžŸαŸ‹αžšαž™αŸˆαž–αŸαž›αž‡αžΆαž„ 10 αž†αŸ’αž“αžΆαŸ†αž αžΎαž™αž‚αžΊαž‡αžΆαž’αŸ’αž“αž€αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„ Kubernetes αžŠαŸ‚αž›αž˜αžΆαž“αž€αžΆαžšαž”αž‰αŸ’αž‡αžΆαž€αŸ‹αŸ” αžœαžΆαž‚αŸ’αž˜αž·αž“αž’αž˜αŸ’αž˜αžαžΆαžšαž”αžŸαŸ‹ Slurm αŸ” αž‚αžΆαžαŸ‹αž”αžΆαž“αž’αŸ’αžœαžΎαž”αž‘αž”αž„αŸ’αž αžΆαž‰αž“αŸ…αž―αžŸαž“αŸ’αž“αž·αžŸαžΈαž‘ Moscow Kubernetes Meetup αž“αž·αž„ UWDC αŸ” αž˜αžΆαž“αž”αž‘αž–αž·αžŸαŸ„αž’αž“αŸαž™αŸ‰αžΆαž„αž‘αžΌαž›αŸ†αž‘αžΌαž›αžΆαž™αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αž KubernetesαŸ– αž‚αž˜αŸ’αžšαŸ„αž„αž…αŸ†αž“αž½αž“ 5 - αž€αžΆαžšαž„αžΆαžšαž”αž»αž‚αŸ’αž‚αž› αž‚αž˜αŸ’αžšαŸ„αž„ 20+ αž‡αžΆαž•αŸ’αž“αŸ‚αž€αž“αŸƒαž€αŸ’αžšαž»αž˜αŸ”

Artyom Galonsky, STO "ByuroByuro" αž‡αžΆαž–αž·αžŸαŸαžŸαž”αžΆαž“αž˜αž€αžŠαž›αŸ‹ Slurm DevOps αž–αžΈ Kaliningrad αŸ” αž”αž‘αž–αž·αžŸαŸ„αž’αž“αŸαž‡αžΆαž„ 12 αž†αŸ’αž“αžΆαŸ†αž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αž—αž·αžœαžŒαŸ’αžαž“αŸαž–αžΆαžŽαž·αž‡αŸ’αž‡αž€αž˜αŸ’αž˜αŸ” αž”αž˜αŸ’αžšαžΎαž€αžΆαžšαž‡αžΆαž”αŸ’αžšαž’αžΆαž“αž€αŸ’αžšαž»αž˜ αž“αž·αž„αž‡αžΆαž”αŸ’αžšαž’αžΆαž“αž“αžΆαž™αž€αžŠαŸ’αž‹αžΆαž“αž’αž—αž·αžœαžŒαŸ’αžαž“αŸαžαžΆαŸ†αž„αž–αžΈαž†αŸ’αž“αžΆαŸ† αŸ’αŸ αŸ‘αŸ‘αŸ” αž”αžΆαž“αž€αŸ’αž›αžΆαž™αž‡αžΆαž“αžΆαž™αž€αž”αž…αŸ’αž…αŸαž€αž‘αŸαžŸαž“αŸ…αž†αŸ’αž“αžΆαŸ† 2011 αŸ” αž‡αžΏαžαžΆαžœαž·αžŸαŸ’αžœαž€αžš devops αž‚αžΊαž‡αžΆαž’αŸ’αžœαžΈαž˜αž½αž™αžŠαžΌαž…αž‡αžΆ unicorn αŸ” αž˜αž·αž“β€‹αž˜αŸ‚αž“β€‹αž€αŸ’αž“αž»αž„β€‹αž“αŸαž™β€‹αžαžΆβ€‹αž˜αžΆαž“β€‹αžαŸ‚β€‹αžŸαŸ’αžšαžΈβ€‹αž–αŸ’αžšαž αŸ’αž˜αž…αžΆαžšαžΈβ€‹αž‘αŸβ€‹αžŠαŸ‚αž›β€‹αž’αžΆαž…β€‹αž…αžΆαž”αŸ‹β€‹αžœαžΆβ€‹αž”αžΆαž“αŸ” αžšαžΏαž„β€‹αž“αŸ„αŸ‡β€‹αž‚αžΊβ€‹αž‚αŸ’αž˜αžΆαž“β€‹αž’αŸ’αž“αž€β€‹αžŽαžΆβ€‹αžŠαžΉαž„β€‹αžαžΆβ€‹αžœαžΆβ€‹αž–αž·αžβ€‹αž‡αžΆβ€‹αž’αŸ’αžœαžΈβ€‹αž‘αŸαŸ”

Alexey Stepanenko αžŠαŸ‚αž›αž‡αžΆαžœαž·αžŸαŸ’αžœαž€αžšαž“αŸ…αž€αŸ’αž“αž»αž„αž“αžΆαž™αž€αžŠαŸ’αž‹αžΆαž“αžœαŸαž‘αž·αž€αžΆαž–αž–αž€ Selectel αž…αžΌαž›αžšαž½αž˜αž€αŸ’αž“αž»αž„αž€αž·αž…αŸ’αž…αž€αžΆαžšαž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžαŸ‚αžšαž€αŸ’αžŸαžΆ OpenStack cloudαŸ– αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™ CI/CD αž“αž·αž„αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αŸ”

Slurm DevOps αŸ” αž“αŸ…β€‹αžαŸ’αž„αŸƒβ€‹αžŠαŸ†αž”αžΌαž„αŸ” Git, CI/CD, IaC αž“αž·αž„αžŠαžΆαž™αžŽαžΌαžŸαŸαžšαž”αŸƒαžαž„
"... αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αžαŸ’αž‰αž»αŸ†αž…αžΆαž”αŸ‹αž”αžΆαž“αž€αŸ†αž αž»αžŸαž”αŸ‚αž”αž“αŸαŸ‡"

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

Slurm DevOps αŸ” αž“αŸ…β€‹αžαŸ’αž„αŸƒβ€‹αžŠαŸ†αž”αžΌαž„αŸ” Git, CI/CD, IaC αž“αž·αž„αžŠαžΆαž™αžŽαžΌαžŸαŸαžšαž”αŸƒαžαž„

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

Slurm DevOps αŸ” αž“αŸ…β€‹αžαŸ’αž„αŸƒβ€‹αžŠαŸ†αž”αžΌαž„αŸ” Git, CI/CD, IaC αž“αž·αž„αžŠαžΆαž™αžŽαžΌαžŸαŸαžšαž”αŸƒαžαž„

Slurm DevOps αŸ” αž“αŸ…β€‹αžαŸ’αž„αŸƒβ€‹αžŠαŸ†αž”αžΌαž„αŸ” Git, CI/CD, IaC αž“αž·αž„αžŠαžΆαž™αžŽαžΌαžŸαŸαžšαž”αŸƒαžαž„
β€œαž’αžΌαž™ admin αž˜αŸ‰αŸαž…αžŠαŸ‚αžš!”

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

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

Slurm DevOps αŸ” αž“αŸ…β€‹αžαŸ’αž„αŸƒβ€‹αžŠαŸ†αž”αžΌαž„αŸ” Git, CI/CD, IaC αž“αž·αž„αžŠαžΆαž™αžŽαžΌαžŸαŸαžšαž”αŸƒαžαž„

Slurm DevOps αŸ” αž“αŸ…β€‹αžαŸ’αž„αŸƒβ€‹αžŠαŸ†αž”αžΌαž„αŸ” Git, CI/CD, IaC αž“αž·αž„αžŠαžΆαž™αžŽαžΌαžŸαŸαžšαž”αŸƒαžαž„

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

Slurm DevOps αŸ” αž“αŸ…β€‹αžαŸ’αž„αŸƒβ€‹αžŠαŸ†αž”αžΌαž„αŸ” Git, CI/CD, IaC αž“αž·αž„αžŠαžΆαž™αžŽαžΌαžŸαŸαžšαž”αŸƒαžαž„
β€œ- MaryIvanna αžαžΎαžαŸ’αž‰αž»αŸ†αž’αžΆαž…αž…αŸαž‰αž‘αŸ…αž€αŸ’αžšαŸ…αž”αžΆαž“αž‘αŸ? - αž’αžαŸ‹αž‘αŸ αž’αž„αŸ’αž‚αž»αž™αž…αž»αŸ‡!

Artyom Galonsky αž”αžΆαž“αž”αž“αŸ’αžαž‘αžΆαž‰αž™αž€αž…αŸ†αžŽαŸαŸ‡αžŠαžΉαž„αž‘αŸ…αž€αžΆαž“αŸ‹αž’αŸ’αž“αž€αž…αžΌαž›αžšαž½αž˜αžŠαŸ„αž™αž₯αžαž˜αŸαžαŸ’αžαžΆαŸ” αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαžŸαž˜αŸ’αžšαžΆαž€αž€αžΆαž αŸ’αžœαŸ αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αž”αžΎαž€αž”αŸ’αžšαž’αžΆαž“αž”αž‘αž”αž“αŸ’αž‘αžΆαž”αŸ‹ β€œCI/CD: Working with Gitlabβ€αŸ”

Slurm DevOps αŸ” αž“αŸ…β€‹αžαŸ’αž„αŸƒβ€‹αžŠαŸ†αž”αžΌαž„αŸ” Git, CI/CD, IaC αž“αž·αž„αžŠαžΆαž™αžŽαžΌαžŸαŸαžšαž”αŸƒαžαž„
β€œαž₯αž‘αžΌαžœβ€‹αž“αŸαŸ‡β€‹αžŸαž„αŸ’αž€αžαŸ‹β€‹αž€αž»αŸ†αž–αŸ’αž™αžΌαž‘αŸαžšβ€‹αž™αž½αžšβ€‹αžŠαŸƒβ€‹αžšαž”αžŸαŸ‹β€‹αž’αŸ’αž“αž€β€‹αž²αŸ’αž™β€‹αž‡αžΆαž”αŸ‹αŸ” ធអ-αž αžΎαž™-αžαŸ„αŸ‡αž‘αŸ…!”

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

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž˜αžΆαž“αžαžΌαžƒαžΈ αž“αž·αž„αž€αžΆαž αŸ’αžœαŸαž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αžšαžΎαž“ αž›αŸ„αž€ Alexey Stepanenko αž”αžΆαž“αž“αž·αž™αžΆαž™αž‘αŸ…αž€αžΆαž“αŸ‹αž’αŸ’αž“αž€αž…αžΌαž›αžšαž½αž˜αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž”αŸ’αžšαž’αžΆαž“αž”αž‘ "Infrastructure as Code: αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžšαŸ’αžαž“αŸƒαž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‡αžΆαž€αžΌαžŠ" αŸ” αž‘αžŸαŸ’αžŸαž“αž·αž€αž‡αž“αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαžΆαž›αž”αžΆαž“αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž™αŸ‰αžΆαž„αžαŸ’αž›αžΆαŸ†αž„αž…αŸ†αž–αŸ„αŸ‡αž”αŸ’αžšαž’αžΆαž“αž”αž‘αž“αŸ…αžαŸ’αž„αŸƒαž”αž“αŸ’αž‘αžΆαž”αŸ‹ "IaC αžŠαŸ„αž™αž”αŸ’αžšαžΎαž§αž‘αžΆαž αžšαžŽαŸαž“αŸƒ Terraform" αž αžΎαž™αž‘αžΆαž˜αž‘αžΆαžšαžšαžΏαž„αžŠαŸ‚αž›αž•αŸ’αžαž›αŸ‹αž—αžΆαž–αž€αž€αŸ‹αž€αŸ’αžαŸ…αžŠαž›αŸ‹αž”αŸαŸ‡αžŠαžΌαž„αŸ”

Никита Π‘ΡƒΠ²ΠΎΡ€ΠΎΠ², [4 сСнт. 2019 Π³., 20:27:35]:
@f3exx Π° ΠΏΠΎ Ρ‚Π΅Ρ€Ρ€Π°Ρ„ΠΎΡ€ΠΌΡƒ Π±ΡƒΠ΄ΡƒΡ‚ Π΄ΡƒΡˆΠ΅Ρ‰ΠΈΠΏΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ истории ΠΈΠ»ΠΈ всС закончится Π»Π°Π±Π°ΠΌΠΈ?

Aleksey Stepanenko, [4 сСнт. 2019 Π³., 20:28:32]:
Π‘ΡƒΠ΄Π΅Ρ‚ ΠΎΠ΄Π½Π° Ρ‚ΠΎΡ‡Π½ΠΎ)

Dmitriy Miroshnichenko, [4 сСнт. 2019 Π³., 20:28:38]:
эээ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠ°ΠΊΠΈΠ΅?
Π΄ΠΆΡƒΠ½ взял стСйт ΠΈ всС ΡƒΠ±ΠΈΠ»?

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

Slurm DevOps αŸ” αž“αŸ…β€‹αžαŸ’αž„αŸƒβ€‹αžŠαŸ†αž”αžΌαž„αŸ” Git, CI/CD, IaC αž“αž·αž„αžŠαžΆαž™αžŽαžΌαžŸαŸαžšαž”αŸƒαžαž„

αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž‡αž‡αŸ‚αž€αžšαž”αžŸαŸ‹ Slurm αž–αž½αž€αž‚αŸαžŸαžšαžŸαŸαžšαžαžΆαŸ–

Николай КононСнко, [4 сСнт. 2019 Π³., 16:17:28]:
ВсС Π²Ρ€ΠΎΠ΄Π΅ получаСтся, Π½ΠΎ Ρ‚Π΅ΠΌΠΏ Ρ‚Π°ΠΊΠΎΠΉ Ρ‡Ρ‚ΠΎ Ρ‚Ρ‹ просто ΡƒΡΠΏΠ΅Π²Π°Π΅ΡˆΡŒ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ осмыслив. ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° Ρ‚ΠΎ ΠΊΠ°ΠΊ находя Ρ€Π°Π½Π΄ΠΎΠΌΠ½ΡƒΡŽ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· сайтов Ρ‚Ρ‹ просто ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΡˆΡŒ ΠΏΠΎ шагам  ΠΈ Π²ΡΡ‚Π°Π²Π»ΡΠ΅ΡˆΡŒ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρƒ тСбя Π½Π΅Ρ‚ возмоТности ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ Π° Π½ΡƒΠΆΠ½ΠΎ Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΎΡ‚ шага ΠΊ ΡˆΠ°Π³Ρƒ. Π½Ρƒ ΠΈΠ»ΠΈ Ρ‚Ρ‹ это ΡƒΠΆΠ΅ знаСшь ΠΈ Ρ‚Π΅Π±Π΅ Π½ΠΎΡ€ΠΌ

Alexander B, [4 сСнт. 2019 Π³., 16:18:06]:
Π΄Π°, ΡƒΡΠΏΠ΅Π²Π°Π΅ΡˆΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΎΠ΄Π½ΠΎ - Π»ΠΈΠ±ΠΎ ΡΠ»ΡƒΡˆΠ°Ρ‚ΡŒ, Π»ΠΈΠ±ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ

Fedor, [4 сСнт. 2019 Π³., 16:18:21]:
+1
Π•Ρ‰Π΅ ΠΈΠ· минусов, ΠΏΠΎΠΊΠ° Ρ‚Ρ‹ занимаСшься ΠΊΠΎΠΏΠΈ пастом инструкций ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°Π΅ΡˆΡŒ 80% слов АртСма

ΠšΠΈΡ€ΠΈΠ»Π», [4 сСнт. 2019 Π³., 16:19:01]:
Π½ΡƒΠΆΠ½ΠΎ Π΄Π²Π° runners Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ
ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π½Π½Π΅Ρ€ ΡΠ»ΡƒΡˆΠ°Π΅Ρ‚ 
Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ копипастит )

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

Slurm DevOps αŸ” αž“αŸ…β€‹αžαŸ’αž„αŸƒβ€‹αžŠαŸ†αž”αžΌαž„αŸ” Git, CI/CD, IaC αž“αž·αž„αžŠαžΆαž™αžŽαžΌαžŸαŸαžšαž”αŸƒαžαž„

Pavel Selivanov αž”αžΆαž“αžŸαž½αžšαž‘αžŸαŸ’αžŸαž“αž·αž€αž‡αž“αž‡αžΆαž…αŸ’αžšαžΎαž“αžŠαž„αžαžΆαžαžΎαž–αž½αž€αž‚αŸαžαŸ’αžšαŸ€αž˜αžαŸ’αž›αž½αž“αžŠαžΎαž˜αŸ’αž”αžΈαž”αž“αŸ’αžαž¬αž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈαž”αŸ’αžšαž’αžΆαž“αž”αž‘αžšαž„ IaC αž˜αž½αž™αž…αŸ†αž“αž½αž“αž‘αŸ…αžαŸ’αž„αŸƒαž”αž“αŸ’αž‘αžΆαž”αŸ‹αŸ” αž’αžŸαŸ‹αžšαž™αŸˆαž–αŸαž›αž‡αžΆαž™αžΌαžšαž˜αž€αž αžΎαž™αž˜αž·αžαŸ’αžαž—αžΆαž–αž“αž·αž„αž—αžΆαž–αž’αž–αŸ’αž™αžΆαž€αŸ’αžšαžΉαžαž”αžΆαž“αžˆαŸ’αž“αŸ‡αž€αžΆαžšαž”αŸ„αŸ‡αž†αŸ’αž“αŸ„αžαŸ” αž αžΎαž™β€‹αž“αŸ…β€‹αž˜αŸ‰αŸ„αž„β€‹αž”αŸ’αžšαžΆαŸ†αž”αžΈβ€‹αž€αž“αŸ’αž›αŸ‡β€‹αž“αŸ…β€‹αž–αŸαž›β€‹αž›αŸ’αž„αžΆαž… αž’αŸ’αž“αž€β€‹αžŠαŸ‚αž›β€‹αž“αŸ…β€‹αž…αžΆαŸ†β€‹αžαžΆβ€‹αž–αž½αž€αž‚αŸβ€‹αž‚αž½αžšβ€‹αž‚αŸαž„β€‹αž–αŸαž›β€‹αž™αž”αŸ‹β€‹αž”αžΆαž“β€‹αžˆαŸ’αž“αŸ‡αŸ”

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

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

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