Halo semuanya! Teman, pada hari terakhir musim dingin, kami akan meluncurkan aliran baru pada kursus
"praktik dan alat DevOps .
" Untuk mengantisipasi dimulainya kursus, kami berbagi dengan Anda bagian pertama dari artikel: "Pola / Anti-Pola CI / CD".

Tugas pemasangan pipa terdiri dari tiga bagian:
- Visibilitas: Semua aspek rantai pasokan - pembuatan, penyebaran, pengujian, dan rilis - dapat dilihat oleh anggota tim dan memfasilitasi kolaborasi.
- Umpan balik: Anggota tim mencari tahu tentang masalah segera setelah terjadi, sehingga mereka dapat diperbaiki sesegera mungkin.
- Penerapan Berkelanjutan: Menggunakan proses yang sepenuhnya otomatis, Anda dapat menggunakan dan merilis versi perangkat lunak apa pun di lingkungan apa pun.

Dalam diagram Penyebaran Pipa di atas, semua pola memiliki konteks. Beberapa pola mencakup beberapa tahap dari pipa ini, jadi saya memilih tahap di mana mereka paling sering digunakan.
1.1 Manajemen Konfigurasi - Pola dan Anti-Pola1.1.1 Perangkat Lunak Pihak Ketiga Kustom- Pola: Mengevaluasi dan menggunakan perangkat lunak pihak ketiga yang dapat dengan mudah dikonfigurasi, digunakan, dan otomatis.
- Anti-pola: Perangkat lunak yang tidak dapat dikonfigurasi secara eksternal. Perangkat lunak tanpa API atau antarmuka baris perintah yang memerlukan perintah untuk menggunakan GUI.
1.1.2 Direktori Konfigurasi- Pola: Dukungan untuk katalog semua parameter dari setiap aplikasi, cara untuk mengubah parameter ini dan lokasi penyimpanan setiap aplikasi. Pembuatan katalog otomatis sebagai bagian dari proses pembangunan.
- Anti-pola: Parameter konfigurasi tidak didokumentasikan. Katalog semua aplikasi dan aset lainnya adalah "cerita rakyat" lokal yang tak terlukiskan.
1.1.3 Mainline- Pola: Meminimalkan merger, mengendalikan jumlah codeline aktif dengan bekerja di jalur utama.
- Anti-pola: Beberapa cabang per proyek.
1.1.4 Penggabungan Harian- Pola: Perubahan yang dilakukan di jalur utama diterapkan ke semua cabang setidaknya setiap hari.
- Anti-pola: Gabungkan semua iterasi seminggu sekali atau kurang dari sekali sehari.
1.1.5 Konfigurasi Aman- Pola: Menyimpan informasi konfigurasi di lokasi yang aman dan dapat diakses dari jarak jauh, misalnya, dalam database, direktori, atau registri.
- Anti-pola: Buka kata sandi teks dan / atau satu komputer atau sumber daya bersama.
1.1.6 Repositori- Pola: Semua file sumber - kode yang dapat dieksekusi, konfigurasi, lingkungan host, data - diunggah ke repositori dengan kontrol versi.
- Anti-pola: Beberapa file di-zip, yang lain, misalnya, konfigurasi lingkungan atau perubahan data, tidak. File biner yang dapat dibuat ulang selama proses build atau deployment diperiksa.
1.1.7 Cabang yang berumur pendek- Pola: Cabang harus berumur pendek, idealnya, beberapa hari dan tidak lebih dari satu iterasi.
- Anti-pola: Cabang hidup lebih lama dari iterasi. Cabang untuk fungsionalitas produk, hidup setelah rilis.
1.1.8 Lingkungan Tim- Pola: Lihat repositori proyek dengan kontrol versi dan jalankan satu perintah untuk membangun dan menyebarkan aplikasi ke lingkungan yang tersedia, termasuk pengembangan lokal.
- Anti-pola: Memerlukan pengembang untuk mendefinisikan dan mengkonfigurasi variabel lingkungan. Memaksa pengembang untuk menginstal banyak alat membangun / penyebaran.
1.1.9 One Way to Operation- Pola: Mengelola konfigurasi seluruh sistem - sumber, konfigurasi, lingkungan, data. Setiap perubahan dapat dilacak ke revisi tertentu di sistem kontrol versi.
- Anti-pola: Bagian dari sistem tidak memiliki versi. Tidak dapat memutar kembali ke pengaturan perangkat lunak sistem sebelumnya.
1.2 CI Integrasi Berkelanjutan - Pola dan Anti-Pola1.2.1 Membangun Ambang- Pola: Rakitan macet ketika aturan proyek dilanggar. Misalnya, pelanggaran arsitektur, tes lambat, pelanggaran standar penulisan kode.
- Anti-pola: Tinjauan kode manual. Mendeteksi masalah kualitas kode di tahap akhir siklus pengembangan.
1.2.2 Sering Berkomitmen- Pola: Setiap anggota tim diperiksa secara rutin - setidaknya sekali sehari, tetapi idealnya setelah setiap tugas untuk mengaktifkan sistem CI.
- Anti-pola: File sumber dilakukan kurang dari sekali sehari karena jumlah perubahan yang dibuat oleh pengembang.
1.2.3 Umpan Balik Berkala- Pola: Mengirim umpan balik otomatis dari sistem CI ke semua anggota tim lintas fungsi.
- Anti-pola: Notifikasi tidak dikirim; pemberitahuan diabaikan; sistem CI mengirimkan informasi kepada semua orang yang tidak dapat digunakan.
1.2.4 Integrasi Berkelanjutan- Pola: Perakitan dan pengujian perangkat lunak terjadi setelah melakukan perubahan pada repositori proyek dengan kontrol versi.
- Anti-pola: Rakitan terjadwal, rakitan malam, rakitan berkala, rakitan eksklusif di mesin pengembang, benar-benar tidak ada rakitan.
1.2.5 Prinsip "Stop Line"- Pola: Perbaiki semua bug pengiriman perangkat lunak segera setelah mereka muncul; "Hentikan garisnya". Tidak ada yang memeriksa dalam perakitan yang rusak, karena memperbaikinya memiliki prioritas tertinggi.
- Anti-pola: Sidang tetap rusak untuk waktu yang lama, sehingga mencegah pengembang memeriksa kode kerja.
1.2.6 Majelis Independen- Pola: Bangun skrip ditulis yang terpisah dari IDE. Script ini dieksekusi oleh sistem CI sehingga perakitan dilakukan dengan setiap perubahan.
- Anti-pola: Auto-build tergantung pada konfigurasi IDE. Tidak dapat memulai perakitan dari baris perintah.
1.2.7 Dashboard Terlihat- Pola: Dimungkinkan untuk melihat semua informasi tentang sistem pengiriman Anda. Untuk memberikan umpan balik tim lintas fungsi yang real-time berkualitas tinggi.
- Anti-Pola: Peringatan hanya datang melalui email. Umpan balik tidak dipublikasikan untuk seluruh tim.
Akhir dari bagian pertama.
Berikut adalah materi semacam itu. Anda dapat membaca kelanjutan terjemahan di
sini , dan sekarang kami menunggu komentar Anda dan kami mengundang Anda ke
webinar terbuka , yang akan diadakan malam ini.