Pengembang alat-alat CI \ CD sering menunjukkan perusahaan besar sebagai Microsoft, Oculus, Red Hat, bahkan Ferrari dan NASA sebagai pelanggan. Tampaknya merek semacam itu hanya bekerja dengan sistem mahal yang tidak dapat dilakukan oleh beberapa pengembang dan perancang awal bersyarat. Tetapi sebagian besar alat tersedia untuk tim kecil.
Apa yang dapat Anda perhatikan - kami akan memberi tahu lebih lanjut.
Foto - Csaba Balazs - Unsplash
Server CI sumber terbuka yang membuatnya mudah untuk membangun proyek PHP. Ini adalah percabangan dari proyek
PHPCI . PHPCI sendiri masih berkembang, tetapi tidak seaktif sebelumnya.
Sensor PHP dapat bekerja dengan repositori GitHub, GitLab, Mercurial dan beberapa lainnya. Untuk menguji kode, alat ini menggunakan pustaka Atoum, PHP Spec, Behat, Codeception. Berikut ini
contoh file konfigurasi untuk kasus pertama:
test: atoum: args: "command line arguments go here" config: "path to config file" directory: "directory to run tests" executable: "path to atoum executable"
Dipercaya bahwa Sensor PHP tidak buruk untuk menggelar proyek-proyek kecil, tetapi Anda harus meng-host dan mengkonfigurasinya sendiri (self-host). Tugas ini disederhanakan dengan dokumentasi yang cukup rinci -
ada di GitHub .
Rex adalah kependekan dari Remote Execution. Sistem ini dikembangkan oleh insinyur Ferenc Erki untuk mengotomatisasi proses di pusat data. Pekerjaan Rex didasarkan pada skrip Perl, tetapi tidak perlu mengetahui bahasa ini untuk berinteraksi dengan alat - sebagian besar operasi (misalnya, menyalin file) dijelaskan dalam pustaka fungsi, dan skrip sering kali sesuai dalam sepuluh baris. Berikut adalah contoh untuk masuk ke beberapa server dan menjalankan uptime:
use Rex -feature => ['1.3']; user "my-user"; password "my-password"; group myservers => "mywebserver", "mymailserver", "myfileserver"; desc "Get the uptime of all servers"; task "uptime", group => "myservers", sub { my $output = run "uptime"; say $output; };
Kami sarankan untuk memulai perkenalan Anda dengan alat dari
panduan resmi dan
e-book , yang saat ini sedang ditambahkan.
Ini adalah platform untuk mengoptimalkan pengembangan distribusi. Kodenya terbuka dan terletak di repositori di
GitHub . Penulis alat ini adalah
Novell . Dia berpartisipasi dalam pengembangan distribusi SuSE, dan proyek ini awalnya disebut openSUSE Build Service. Tidak mengherankan, Layanan Bangun Terbuka
digunakan untuk membangun proyek di openSUSE, Tizen, dan VideoLAN. Alat ini juga berfungsi dengan Dell, SGI dan Intel. Tetapi ada di antara pengguna biasa dan startup kecil. Khusus untuk mereka, penulis mengumpulkan (
p. 10 )
paket perangkat lunak yang sudah dikonfigurasi sebelumnya. Sistem itu sendiri benar-benar gratis - Anda hanya perlu mengeluarkan uang untuk hosting atau server besi untuk menggunakannya.
Namun selama seluruh keberadaannya, alat ini belum memperoleh komunitas luas. Meskipun
itu bagian dari Linux Developer Network, bertanggung jawab untuk menstandarisasi OS terbuka.
Sulit untuk menemukan jawaban atas pertanyaan di forum topik. Tetapi salah satu warga Quora mencatat bahwa dalam
obrolan IRC di Freenode, anggota komunitas merespons dengan agak sukarela. Masalah komunitas kecil tidak bersifat global, karena solusi untuk banyak masalah dijelaskan
dalam dokumentasi resmi (PDF dan EPUB). Di sana Anda
dapat menemukan praktik terbaik untuk bekerja dengan OBS (ada contoh dan kasus).
Alat terbuka (
GitHub ) yang mengotomatiskan tugas-tugas di pusat data dan cloud menggunakan skrip. Server skrip khusus bertanggung jawab atas eksekusi mereka. Kita dapat mengatakan bahwa Rundeck adalah "anak" dari platform untuk mengelola aplikasi ControlTier. Rundeck berpisah darinya pada tahun 2010 dan memperoleh fungsionalitas baru - misalnya, integrasi dengan Puppet, Chef, Git dan Jenkins.
Sistem ini digunakan oleh Perusahaan Walt Disney , Salesforce dan Ticketmaster . Tetapi proyek ini juga cocok untuk startup. Ini karena Rundeck dilisensikan di bawah lisensi Apache v2.0. Apalagi alat ini cukup mudah digunakan.
Seorang penduduk Reddit yang bekerja dengan Rundeck
mengatakan dia menyelesaikan sebagian besar kesulitannya sendiri. Dengan ini,
dokumentasi dan e-book yang diterbitkan oleh pengembang membantunya.
Anda juga dapat menemukan panduan cepat tentang pengaturan alat secara online:
Alat terbuka (
GitHub ) mengotomatiskan kontrol versi kode. Saat itu diperkenalkan pada 2007 oleh
ThoughtWorks - maka proyek itu disebut Cruise.
AutoCD Autoder, layanan silsilah Ancestry, dan Barclaycard, penyedia kartu kredit, bekerja dengan GoCD. Namun, seperempat dari pengguna alat ini
adalah usaha kecil .
Popularitas layanan di antara startup dapat dijelaskan dengan keterbukaannya - itu didistribusikan di bawah lisensi Apache v2.0. Pada saat yang sama, GoCD
memiliki plugin untuk integrasi dengan perangkat lunak pihak ketiga - sistem otorisasi dan solusi cloud. Benar, sistem ini
cukup sulit untuk dikuasai - ia memiliki banyak operator dan tim. Juga, beberapa pengguna mengeluh tentang antarmuka yang buruk dan
perlunya mengkonfigurasi agen untuk penskalaan.
Foto - Matt Wildbore - UnsplashJika Anda ingin mencoba GoCD dalam praktiknya, maka di situs web proyek Anda dapat menemukan
dokumentasi resmi . Anda juga dapat merekomendasikan
Blog Pengembang GoCD dengan panduan
penyesuaian sebagai sumber informasi tambahan.
Jenkins dikenal luas dan
dianggap sebagai semacam standar di bidang CI \ CD - tentu saja, tanpa itu seleksi ini tidak akan lengkap. Alat itu muncul pada 2011,
menjadi cabang dari proyek Hudson dari Oracle.
Hari ini, mereka
bekerja dengan Jenkins di NASA, Nintendo, dan organisasi besar lainnya. Namun,
lebih dari 8% pengguna adalah kelompok kecil hingga sepuluh orang. Produk ini sepenuhnya gratis dan didistribusikan di
bawah lisensi MIT . Namun, Anda harus meng-host dan mengkonfigurasi Jenkins sendiri - ini membutuhkan server khusus.
Selama seluruh umur instrumen, komunitas yang luas telah terbentuk di sekitarnya. Pengguna secara aktif berkomunikasi di utas di
Reddit dan
Grup Google . Materi tentang Jenkins juga secara teratur muncul di HabrΓ©. Jika Anda ingin menjadi bagian dari komunitas dan memulai dengan Jenkins, ada
dokumentasi resmi dan
panduan dari pengembang . Kami juga merekomendasikan buku dan panduan berikut:
Jenkins memiliki beberapa proyek pihak ketiga yang bermanfaat. Yang pertama adalah plugin
Konfigurasi sebagai Kode . Ini menyederhanakan pengaturan Jenkins dengan API yang dapat dibaca yang dapat dimengerti bahkan untuk administrator tanpa pengetahuan mendalam tentang alat ini. Yang kedua adalah sistem cloud
Jenkins X. Ini mempercepat pengiriman aplikasi yang digunakan pada infrastruktur TI skala besar dengan mengotomatisasi beberapa tugas rutin.
Ini adalah sistem integrasi berkesinambungan untuk mengotomatisasi siklus perakitan dan pengujian aplikasi. Secara otomatis memeriksa fungsionalitas kode setiap kali ada perubahan yang dilakukan terhadapnya.
Penulis alat ini adalah insinyur Brian Warner (Brian Warner). Hari ini ia
digantikan oleh kelompok inisiatif Komite Pengawas Buildbot, yang mencakup enam pengembang.
Buildbot
digunakan oleh proyek-proyek seperti LLVM, MariaDB, Blender, dan Dr.Web. Tetapi juga digunakan dalam proyek yang lebih kecil seperti wxWidgets dan Flathub. Sistem ini mendukung semua VCS modern dan memiliki pengaturan pembangunan yang fleksibel melalui penggunaan Python untuk menggambarkannya.
Dokumentasi resmi dan tutorial pihak ketiga akan membantu Anda menangani semuanya, misalnya, berikut adalah
panduan cepat
dari IBM .
Tentu saja, ini tidak semua alat DevOps yang harus diperhatikan oleh organisasi kecil dan pemula. Berikan alat favorit Anda di komentar, dan kami akan mencoba membicarakannya di salah satu bahan berikut.
Apa yang kami tulis di blog perusahaan: