Panduan Pemula: Mencipta Saluran Paip DevOps

Jika anda baru menggunakan DevOps, lihat panduan lima langkah ini untuk membuat saluran paip pertama anda.

Panduan Pemula: Mencipta Saluran Paip DevOps

DevOps стал стандартным Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ для исправлСния ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Ρ…, Ρ€Π°Π·ΠΎΠ±Ρ‰Π΅Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ нСработоспособных процСссов Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² Ρ‚ΠΎΠΌ Ρ‡Ρ‚ΠΎ, Ссли Π²Ρ‹ Π½ΠΎΠ²ΠΈΡ‡ΠΎΠΊ Π² DevOps ΠΈ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅, с Ρ‡Π΅Π³ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ, Ρ‚ΠΎ Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Ρ…Π²Π°Ρ‚Π°Ρ‚ΡŒ понимания этих ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Ρ€Π΅Ρ‡ΡŒ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ ΠΎΠ± ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ DevOps-ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° инструкция ΠΏΠΎ Π΅Π³ΠΎ созданию ΠΈΠ· пяти шагов. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ это ΡƒΡ‡Π΅Π±Π½ΠΎΠ΅ пособиС Π½Π΅ являСтся ΠΈΡΡ‡Π΅Ρ€ΠΏΡ‹Π²Π°ΡŽΡ‰ΠΈΠΌ, ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π΄Π°Ρ‚ΡŒ Π²Π°ΠΌ основу для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ свой ΠΏΡƒΡ‚ΡŒ ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ свои познания Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ. Но Π½Π°Ρ‡Π½Π΅ΠΌ с истории.

Perjalanan DevOps Saya

Saya sebelum ini bekerja di pasukan awan Kumpulan Citi membangunkan aplikasi web Infrastruktur-sebagai-Perkhidmatan (IaaS) untuk mengurus infrastruktur awan Citi, tetapi saya sentiasa berminat untuk menjadikan proses pembangunan lebih cekap dan membawa perubahan budaya yang positif kepada pasukan pembangunan. Saya menemui jawapannya dalam buku yang disyorkan oleh Greg Lavender, CTO Seni Bina dan Infrastruktur Awan di Citi. Buku itu dipanggil Projek Phoenix (Projek Phoenix), dan ia menerangkan prinsip DevOps, tetapi ia berbunyi seperti novel.

Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π½Π° ΠΎΠ±ΠΎΡ€ΠΎΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ часто Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°ΡŽΡ‚ свои систСмы Π² срСдС для выпуска Ρ€Π΅Π»ΠΈΠ·ΠΎΠ²:

Amazon: 23 sehari
Google: 5 500 в дСнь
Netflix: 500 sehari
Facebook: Раз в дСнь
Twitter: 3 kali seminggu
Випичная компания: Π Π°Π· Π² 9 мСсяцСв

Bagaimanakah frekuensi Amazon, Google dan Netflix boleh dilakukan? Ini kerana syarikat-syarikat ini telah memikirkan cara untuk mencipta saluran paip DevOps yang hampir sempurna.

ΠœΡ‹ Π±Ρ‹Π»ΠΈ Π΄Π°Π»Π΅ΠΊΠΈ ΠΎΡ‚ этого, ΠΏΠΎΠΊΠ° Π½Π΅ Π²Π½Π΅Π΄Ρ€ΠΈΠ»ΠΈ DevOps Π² Citi. Π’ΠΎΠ³Π΄Π° Π² ΠΌΠΎΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π±Ρ‹Π»ΠΈ Ρ€Π°Π·Π½Ρ‹Π΅ окруТСния, Π½ΠΎ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ Π½Π° сСрвСрС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€ΡƒΡ‡Π½Ρ‹ΠΌ. ВсС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΠΌΠ΅Π»ΠΈ доступ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ сСрвСру Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° Π±Π°Π·Π΅ IBM WebSphere Application Server Community Edition. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π»Π°ΡΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ сСрвСр Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Π»ΡΡ всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° нСсколько ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅, поэтому Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Π»ΠΈ ΡΠΎΠΎΠ±Ρ‰Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Ρƒ ΠΎ своих намСрСниях, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ довольно Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, сущСствовали ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΌ тСстовым ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ ΠΊΠΎΠ΄Π°, Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΠΌΠΈ процСссами Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ развСртывания ΠΈ отсутствиСм возмоТности ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°, связанного с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ историСй.

Saya menyedari bahawa sesuatu perlu dilakukan dan menemui rakan sekerja yang berfikiran sama. Kami memutuskan untuk bekerjasama dalam membina saluran paip DevOps awal - dia menyediakan mesin maya Tomcat dan pelayan aplikasi semasa saya bekerja pada Jenkins, menyepadukan Atlassian Jira dan BitBucket, dan bekerja pada liputan kod ujian. Projek sampingan ini sangat berjaya: kami hampir mengautomasikan sepenuhnya banyak proses, mencapai hampir 100% masa beroperasi pada pelayan pembangunan kami, menyediakan penjejakan dan liputan ujian yang lebih baik bagi kod, dan menambah keupayaan untuk memautkan cawangan Git kepada isu atau penggunaan Jira. Kebanyakan alatan yang kami gunakan untuk membina saluran paip DevOps kami adalah sumber terbuka.

Sekarang saya faham betapa mudahnya saluran paip DevOps kami: kami tidak menggunakan sambungan seperti fail Jenkins atau Ansible. Walau bagaimanapun, saluran paip mudah ini berfungsi dengan baik, mungkin disebabkan oleh prinsip Pareto (juga dikenali sebagai peraturan 80/20).

ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² DevOps ΠΈ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ CI/CD

Jika anda bertanya kepada beberapa orang, "Apakah itu DevOps?", anda mungkin akan mendapat beberapa jawapan yang berbeza. DevOps, seperti Agile, telah berkembang untuk menjangkau banyak disiplin yang berbeza, tetapi kebanyakan orang akan bersetuju dengan beberapa perkara: DevOps ialah amalan pembangunan perisian atau kitaran hayat pembangunan perisian (SDLC) yang prinsip utamanya mengubah budaya di mana pembangun dan bukan pembangun wujud dalam persekitaran di mana:

Автоматизированы ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π½Π΅Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ;
ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΡƒΠΌΠ΅Π΅Ρ‚ Π»ΡƒΡ‡ΡˆΠ΅ всСго;
Bilangan pelaksanaan dalam tempoh masa tertentu meningkat; Peningkatan throughput;
Peningkatan fleksibiliti pembangunan.

Π₯отя Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… инструмСнтов β€” Π½Π΅ СдинствСнноС, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ для создания срСды DevOps, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ инструмСнты Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹. ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ инструмСнт – нСпрСрывная интСграция ΠΈ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠ΅ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ (CI/CD). Π’ этом ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π΅ срСды ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ стадии (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, DEV, INT, TST, QA, UAT, STG, PROD), ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹, Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΈΡΠ°Ρ‚ΡŒ высококачСствСнный ΠΊΠΎΠ΄, Π΄ΠΎΠ±ΠΈΠ²Π°Ρ‚ΡŒΡΡ гибкости Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ высокой частоты Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠΉ.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ описываСтся пятиэтапный ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ созданию DevOps-ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π°, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π½ΠΎΠΌΡƒ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅, с использованиСм инструмСнтов с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ.

Langkah 1: Kaedah CI/CD

ΠŸΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ – инструмСнт для CI/CD. Jenkins, инструмСнт с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, основанный Π½Π° Java, ΠΈ распространяСмый ΠΏΠΎ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ MIT, являСтся Ρ‚Π΅ΠΌ срСдством, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ популяризировало Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ DevOps ΠΈ стало стандартом Π΄Π΅-Ρ„Π°ΠΊΡ‚ΠΎ.

Jadi apa itu Jenkins? Anggap ia sebagai sejenis alat kawalan jauh universal ajaib yang boleh bercakap dan mengatur pelbagai perkhidmatan dan alatan. Dengan sendirinya, alat CI/CD seperti Jenkins tidak berguna, tetapi ia menjadi lebih berkuasa apabila ia menyambung kepada alat dan perkhidmatan yang berbeza.

Jenkins hanyalah salah satu daripada banyak alatan CI/CD sumber terbuka yang boleh anda gunakan untuk membina saluran paip DevOps anda.

Jenkins: Creative Commons and MIT
Travis CI: MIT
CruiseControl: BSD
Buildbot: GPL
Apache Gump: Apache 2.0
Cabie: GNU

Inilah rupa proses DevOps dengan alat CI/CD:

Panduan Pemula: Mencipta Saluran Paip DevOps

Anda mempunyai alat CI/CD yang dijalankan pada localhost anda, tetapi tidak banyak yang boleh anda lakukan pada masa ini. Mari kita beralih ke peringkat seterusnya dalam perjalanan DevOps.

Π¨Π°Π³ 2: Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ систСмами контроля исходного ΠΊΠΎΠ΄Π°

Π›ΡƒΡ‡ΡˆΠΈΠΉ (ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, самый простой) способ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ваш инструмСнт CI/CD ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Π²ΠΎΡ€ΠΈΡ‚ΡŒ магию – ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ с инструмСнтом контроля исходного ΠΊΠΎΠ΄Π° (SCM). Π—Π°Ρ‡Π΅ΠΌ Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ исходным ΠΊΠΎΠ΄ΠΎΠΌ? ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Всякий Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ создаСтС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π²Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΡƒΠ΅Ρ‚Π΅, ΠΈ Π½Π΅Π²Π°ΠΆΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π²Ρ‹ Java, Python, C++, Go, Ruby, JavaScript ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΈΠ· Π³Π°Π·ΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² языков программирования. Код, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ называСтся исходным ΠΊΠΎΠ΄ΠΎΠΌ. Π’ Π½Π°Ρ‡Π°Π»Π΅, особСнно ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ Π² ΠΎΠ΄ΠΈΠ½ΠΎΡ‡ΠΊΡƒ, вСроятно, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ всС Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ. Но ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ становится большС, ΠΈ Π²Ρ‹ ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ°Π΅Ρ‚Π΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… людСй ΠΊ сотрудничСству, Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ способ прСдотвращСния ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² ΠΏΡ€ΠΈ эффСктивном ΠΎΠ±ΠΌΠ΅Π½Π΅ модификациями. Π’Π°ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ Π½ΡƒΠΆΠ΅Π½ способ восстановлСния ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… вСрсий, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ созданиС Π±Π΅ΠΊΠ°ΠΏΠΎΠ² ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅/вставка Π² Π½ΠΈΡ… ΡƒΠΆΠ΅ устарСваСт. Π’Π°ΠΌ (ΠΈ вашим Ρ‚ΠΎΠ²Π°Ρ€ΠΈΡ‰Π°ΠΌ ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅) Π½ΡƒΠΆΠ½ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΡˆΠ΅.

Di sinilah kawalan kod sumber menjadi hampir satu keperluan. Alat ini menyimpan kod anda dalam repositori, menjejaki versi dan menyelaras kerja peserta projek.

Π₯отя сущСствуСт мноТСство инструмСнтов контроля исходного ΠΊΠΎΠ΄Π°, Git являСтся стандартом, ΠΈ это Π²Π΅Ρ€Π½ΠΎ. Π― Π½Π°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Git, хотя, Ссли ΡƒΠ³ΠΎΠ΄Π½ΠΎ, Π΅ΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ.

Git: GPLv2 ΠΈ LGPL v2.1
Subversion: Apache 2.0
Sistem Versi Serentak (CVS): GNU
Vesta: LGPL
Mercurial: GNU GPL v2+

Π’Π°ΠΊ выглядит DevOps-ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ с Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ срСдств контроля исходного ΠΊΠΎΠ΄Π°.

Panduan Pemula: Mencipta Saluran Paip DevOps

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ CI/CD ΠΌΠΎΠΆΠ΅Ρ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ процСссы ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, получСния исходного ΠΊΠΎΠ΄Π° ΠΈ сотрудничСства ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‡Π»Π΅Π½Π°ΠΌΠΈ. НСплохо? Но ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ· этого Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄Ρ‹ людСй ΠΌΠΎΠ³Π»ΠΈ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ?

Langkah 3: Cipta Alat Automasi Binaan

ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ! Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΈ Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния Π² систСму контроля исходного ΠΊΠΎΠ΄Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ°Ρ‚ΡŒ своих Π΄Ρ€ΡƒΠ·Π΅ΠΉ ΠΊ сотрудничСству Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅. Но Π²Ρ‹ Π΅Ρ‰Π΅ Π½Π΅ создали ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΈΠ»ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ исполняСмого Ρ„Π°ΠΉΠ»Π°. (ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ язык программирования, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ JavaScript ΠΈΠ»ΠΈ PHP, Π½Π΅ нуТдаСтся Π² компиляции).

Π’ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ инструмСнтом Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ сборки. НСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ инструмСнт Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ сборки Π²Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, всС ΠΎΠ½ΠΈ ΠΏΡ€Π΅ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ Ρ†Π΅Π»ΡŒ: ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ исходный ΠΊΠΎΠ΄ Π² ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ ΠΏΠΎ очисткС, компиляции, Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΡŽ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ срСдС. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ для сборки Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² зависимости ΠΎΡ‚ вашСго языка программирования, Π½ΠΎ Π²ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ‰ΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ.

nama
Lesen
Bahasa pengaturcaraan

Maven
Apache 2.0
Java

Semut
Apache 2.0
Java

Gradle
Apache 2.0
Java

Bazel
Apache 2.0
Java

Membuat
GNU
N / A

Grunt
MIT
JavaScript

Gulp
MIT
JavaScript

Pembina
Apache
Ruby

Rake
MIT
Ruby

AAP
GNU
Python

SCON
MIT
Python

BitBake
GPLv2
Python

Kek
MIT
C#

ASDF
Ekspatriat (MIT)
LISP

Cabal
BSD
Haskell

Π—Π΄ΠΎΡ€ΠΎΠ²ΠΎ! Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ инструмСнта Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ сборки Π² систСму управлСния исходным ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ Π²Π°ΡˆΠ΅ΠΌΡƒ инструмСнту CI/CD ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ всС Π²ΠΎΠ΅Π΄ΠΈΠ½ΠΎ.

Panduan Pemula: Mencipta Saluran Paip DevOps

Semuanya baik-baik saja, bukan? Tetapi di mana untuk menggunakan aplikasi anda?

Π¨Π°Π³ 4: Π‘Π΅Ρ€Π²Π΅Ρ€ для Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

Buat masa ini, anda mempunyai fail berpakej yang boleh sama ada boleh laku atau boleh dipasang. Untuk mana-mana aplikasi benar-benar berguna, ia mesti menyediakan beberapa jenis perkhidmatan atau antara muka, tetapi anda memerlukan bekas untuk mengehoskan aplikasi anda.

Π‘Π΅Ρ€Π²Π΅Ρ€ для Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ прСдставляСт собой ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€. Π‘Π΅Ρ€Π²Π΅Ρ€ обСспСчиваСт срСду, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ° Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°. Π’Π°ΠΊΠΆΠ΅ сСрвСр прСдоставляСт интСрфСйс ΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π²Π΅Π±-сСрвисы, открывая сокСты для внСшнСго ΠΌΠΈΡ€Π°. Π’Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ HTTP-сСрвСр, Π° Ρ‚Π°ΠΊΠΆΠ΅ нСкоторая срСда (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина) для Π΅Π³ΠΎ установки. А ΠΏΠΎΠΊΠ°, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ ΠΎΠ± этом дальшС (хотя я расскаТу ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°Ρ… Π½ΠΈΠΆΠ΅).

БущСствуСт нСсколько сСрвСров для Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ.

nama
Lesen
Bahasa pengaturcaraan

Tomcat
Apache 2.0
Java

Jetty
Apache 2.0
Java

WildFly
GNU Lesser Public
Java

GlassFish
CDDL & GNU Kurang Awam
Java

Django
3-Fasal BSD
Python

Puting beliung
Apache 2.0
Python

gunicorn
MIT
Python

Python
MIT
Python

Rails
MIT
Ruby

Node.js
MIT
Javascript

Saluran paip DevOps anda hampir sedia untuk digunakan. Syabas!

Panduan Pemula: Mencipta Saluran Paip DevOps

Π₯отя Π½Π° этом ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ ΠΈ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠ΅ΠΉ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ, качСство ΠΊΠΎΠ΄Π° – ваТная Π²Π΅Ρ‰ΡŒ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈ ΠΎΠ± этом Π½ΡƒΠΆΠ½ΠΎ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ‚ΡŒΡΡ.

Langkah 5: Liputan Ujian Kod

Melaksanakan ujian boleh menjadi satu lagi keperluan yang sukar, tetapi pembangun mesti menangkap sebarang pepijat dalam aplikasi lebih awal dan meningkatkan kualiti kod untuk memastikan pengguna akhir berpuas hati. Nasib baik, terdapat banyak alat sumber terbuka untuk menguji kod anda dan membuat cadangan untuk meningkatkan kualitinya. Apa yang lebih baik ialah kebanyakan alat CI/CD boleh menyambung kepada alatan ini dan mengautomasikan proses.

Ujian kod terdiri daripada dua bahagian: rangka kerja ujian kod yang membantu anda menulis dan menjalankan ujian, dan alat cadangan yang membantu anda meningkatkan kualiti kod anda.

Sistem ujian kod

nama
Lesen
Bahasa pengaturcaraan

JUnit
Lesen Awam Gerhana
Java

EasyMock
Apache
Java

mockito
MIT
Java

PowerMock
Apache 2.0
Java

Pytest
MIT
Python

Hipotesis
Mozilla
Python

Toksik
MIT
Python

БистСмы Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉ ΠΏΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡŽ ΠΊΠΎΠ΄Π°

nama
Lesen
Bahasa pengaturcaraan

Liputan
GNU
Java

CodeCover
Eclipse Public (EPL)
Java

Coverage.py
Apache 2.0
Python

Emma
Common Public License
Java

JaCoCo
Lesen Awam Gerhana
Java

Hipotesis
Mozilla
Python

Toksik
MIT
Python

Jasmine
MIT
JavaScript

Karma
MIT
JavaScript

Mocha
MIT
JavaScript

isyarat
MIT
JavaScript

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ инструмСнтов ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ², упомянутых Π²Ρ‹ΡˆΠ΅, написаны для Java, Python ΠΈ JavaScript, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ C++ ΠΈ C# ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠΏΡ€ΠΈΠ΅Ρ‚Π°Ρ€Π½Ρ‹ΠΌΠΈ языками программирования (хотя GCC ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ исходный ΠΊΠΎΠ΄).

Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ инструмСнты покрытия ΠΊΠΎΠ΄Π° тСстами, ваш DevOps-ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡƒ, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π² Π½Π°Ρ‡Π°Π»Π΅ этого руководства.

Langkah Tambahan

Kontena

Как я ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ», Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ свой сСрвСр Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ машинС ΠΈΠ»ΠΈ сСрвСрС, Π½ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ популярным Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹? ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ объяснСниС Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина нуТдаСтся Π² ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠΌ объСмС памяти ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°ΡŽΡ‰Π΅ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ прилоТСния, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρƒ Π½ΡƒΠΆΠ½ΠΎ всСго лишь нСсколько Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ для запуска прилоТСния. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Ρƒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ всС Π΅Ρ‰Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π²Π°ΠΆΠ½Ρ‹Π΅ области примСнСния, Π½ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ – это Π»Π΅Π³ΠΊΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для хостинга прилоТСния, Π² Ρ‚ΠΎΠΌ числС сСрвСра ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Walaupun terdapat pilihan kontena lain, yang paling popular ialah Docker dan Kubernetes.

Docker: Apache 2.0
Kubernetes: Apache 2.0

Alat automasi perantaraan

Saluran paip DevOps kami tertumpu terutamanya pada penciptaan dan penggunaan aplikasi kolaboratif, tetapi terdapat banyak perkara lain yang boleh dilakukan dengan alat DevOps. Salah satunya ialah penggunaan alat Infrastruktur sebagai Kod (IaC), yang juga dikenali sebagai alat automasi middleware. Alat ini membantu mengautomasikan pemasangan, pengurusan dan tugas lain untuk perisian tengah. Jadi, sebagai contoh, alat automasi boleh mengekstrak aplikasi seperti pelayan aplikasi web, pangkalan data dan alat pemantauan dengan konfigurasi yang betul dan menggunakan ia ke pelayan aplikasi.

Π’ΠΎΡ‚ нСсколько инструмСнтов ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΉ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ:

Ansible: GNU Public
SaltStack: Apache 2.0
Chef: Apache 2.0
Puppet: Apache ΠΈΠ»ΠΈ GPL

Panduan Pemula: Mencipta Saluran Paip DevOps

Ketahui butiran tentang cara mendapatkan profesion yang dicari dari awal atau Naik Tahap dari segi kemahiran dan gaji dengan mengikuti kursus dalam talian berbayar dari SkillFactory:

lebih banyak kursus

Usefull

Sumber: www.habr.com

Tambah komen