GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Anda menerapkan praktik pengembangan seperti kontrol versi, pengujian, dan integrasi/penerapan berkelanjutan ke administrasi sistem?

Solusi 1:

Penafian:Saya adalah salah satu pengembang Wayang.

Cara yang jelas adalah dengan hanya menerapkan konsep:tentukan siklus pengembangan/pengujian/produksi, dan dorong perubahan melaluinya. Gunakan kontrol versi untuk melacak sistem.

Singkatnya, memulai jalan itu mengarah pada penemuan bahwa Anda benar-benar menginginkan alat yang mengotomatiskan hal-hal itu - pada dasarnya, Anda ingin mengotomatiskan administrasi sistem, sehingga Anda tidak menggunakan teknik tersebut pada mesin, Anda menggunakannya pada sistem yang mengelola mesin.

Alat seperti Chef, Puppet, Salt, dan CFEngine adalah alat populer untuk memenuhi kebutuhan kedua tersebut. Mereka bekerja dengan arah umum untuk mengubah administrasi sistem menjadi solusi sentral yang dapat Anda kontrol versi dan uji.

Gerakan DevOps adalah sumber informasi bagus lainnya tentang cara melakukan ini. Meskipun prinsipnya adalah kerja sama yang lebih baik antara Pengembang dan staf Operasi, hal itu juga cenderung mengarah ke bawah.

Solusi 2:

Jawaban singkatnya adalah "OS deployment management", "Configuration Management", dan "Software Packaging". Jawaban panjang mengikuti.

Saya ingin menambahkan balasan Daniel Pittman dengan perincian tentang apa yang membentuk "sistem" dalam administrasi sistem.

Sistem atau lingkungan akan terdiri dari:

  • Server
  • Sistem Operasi
  • Konfigurasi
  • Paket penjual; dan
  • Paket lokal

Menyelubungi ini akan menjadi proses seperti:

  • Penerapan atau pencitraan OS
  • Pengelolaan konfigurasi
  • Pengelolaan paket perangkat lunak
  • Audit/pencatatan
  • Pemantauan
  • Cadangan

Dan Anda ingin menggabungkan semua ini untuk membantu Anda mencapai tujuan non-fungsional seperti:

  • Keterulangan
  • Kemampuan Pemeliharaan
  • Keterukuran
  • Kinerja
  • Kemamputelusuran
  • Kestabilan
  • Dapat diubah

Ini adalah dump otak cepat. Saya yakin lebih banyak yang dapat ditambahkan ke semua daftar.

Pertanyaan Anda menyentuh beberapa di antaranya tanpa menggunakan kata-kata spesifik. Misalnya, Anda ingin dapat menerapkan dengan mudah dan kembali, yaitu ingin pemeliharaan; Anda ingin melakukannya di lingkungan pengujian dan mengujinya sampai lulus, yaitu keterulangan, keterujian, dan keterukuran; Anda berpikir untuk menempatkan gambar vm di kontrol versi karena Anda menginginkan keterulangan penerapan OS dan konfigurasi.

Ada banyak alat untuk membantu Anda dalam hal ini, beberapa di antaranya disebutkan oleh Daniel. Beberapa lainnya adalah:

  • Kickstarts (berbasis RedHat), Preseed (berbasis Debian), WDS (MS Windows) untuk menerapkan lingkungan OS yang dikenal
  • Spacewalk/Satellite (berbasis RedHat), Kebijakan Grup (MS Windows) untuk konfigurasi dan manajemen paket
  • Sistem pengemasan YUM dan APT untuk membuat, menerapkan, meningkatkan, dan menghapus paket (kumpulan binari, data, dan konfigurasi yang terdiri dari perangkat lunak)
  • Nagios, OpenNMS, dan SCOM untuk pemantauan
  • Amanda, Bacula, dan Windows Backup Server untuk pencadangan
  • Munin, PCP, dan Hyperic untuk pemantauan kinerja
  • CVS, SVN, GIT atau Bazaar untuk Kontrol Versi
  • Hudson dan Jenkins untuk pengelolaan bangunan
  • Selenium dan Robot untuk pengujian
  • Bugzilla, Pelacak Permintaan, dan Jira untuk perekaman, komunikasi, dan pelacakan

Sekali lagi, ini bukan daftar lengkap, tetapi sesuatu yang saya simpan di kepala saya untuk membimbing saya dan mudah-mudahan ini akan membantu Anda juga.


Linux
  1. Pengujian integrasi berkelanjutan untuk kernel Linux

  2. Cara Membuat dan Query Sistem File BTRFS

  3. Bagaimana cara membuat dan menerapkan tambalan SVN?

  1. Cara memeriksa Versi OS dan Linux

  2. Cara memeriksa versi Kernel di Linux

  3. Cara:Replikasi dan Konfigurasi DRBD

  1. Apa itu Kurasi Konten dan bagaimana cara melakukannya?

  2. Praktik Pengujian Penetrasi Terbaik yang Perlu Anda Ketahui

  3. Cara memasang dan memasang sistem file di Linux