Dalam lanskap pembangunan yang didominasi oleh perkhidmatan integrasi berterusan (CI) berasaskan cloud, sambungan GitHub CLI baharu yang dipanggil gh-signoff telah muncul, mencabar kebijaksanaan konvensional tentang automasi ujian. Alat ini, yang dibangunkan oleh Basecamp, membolehkan pembangun menjalankan ujian secara tempatan dan mengesahkan kerja mereka secara manual, mewujudkan pemeriksaan status yang lulus tanpa menggunakan pelari CI jarak jauh.
Perkara Utama Tentang gh-signoff
- Tujuan: Membolehkan pembangun menjalankan ujian secara tempatan dan mengesahkan kerja mereka secara manual
- Cara ia berfungsi: Mencipta status pemeriksaan GitHub yang lulus melalui arahan
gh signoff
- Pemeriksaan yang dilakukan: Hanya mengesahkan tiada perubahan Git yang belum dikomit
- Tidak melakukan: Menjalankan ujian secara automatik atau menerbitkan hasil ujian
- Pemasangan:
gh extension install basecamp/gh-signoff
- Lesen: MIT
CI Tempatan lwn. CI Cloud: Komuniti yang Terbahagi
Pengenalan gh-signoff telah mencetuskan perbahasan besar dalam komuniti pembangun. Penyokong berhujah bahawa komputer pembangun moden cukup berkuasa untuk mengendalikan beban kerja ujian yang sebelum ini memerlukan infrastruktur cloud. Seperti yang dinyatakan dalam penerangan sambungan, komputer riba pembangun sangat pantas pada masa kini. Mereka kurang digunakan secara kronik. Dan anda sudah memilikinya. Perkhidmatan CI cloud biasanya perlahan, mahal, dan disewa.
Walau bagaimanapun, ramai pembangun menyuarakan kebimbangan serius tentang pendekatan ini. Kritikan utama tertumpu pada kebolehulangan dan kebolehpercayaan. Seorang pengulas menyatakan bahawa alat ini pada dasarnya mewujudkan status lulus tanpa sebarang pengesahan bahawa ujian sebenarnya telah dijalankan:
Ini hanya mewujudkan status lulus dalam repositori supaya PR boleh digabungkan. Tiada kewajipan ke atas pembangun untuk benar-benar menjalankan ujian secara tempatan, jadi anda boleh sahaja menjimatkan masa dengan menyahaktifkan pemeriksaan status.
Ini menyoroti ketegangan asas antara kepercayaan dan pengesahan dalam proses pembangunan perisian.
Faktor Kepercayaan dalam Pasukan Pembangunan
Pendekatan gh-signoff dibina di atas asas kepercayaan dalam pasukan pembangunan. Pembela alat ini menegaskan bahawa walaupun dengan CI tradisional, pembangun yang bertekad boleh memintas pemeriksaan dengan mengubah suai kod ujian. Mereka berhujah bahawa menjadikan proses pengesahan secara eksplisit mewujudkan kebertanggungjawaban.
Pengkritik menyangkal bahawa isu ini bukan tentang kepercayaan tetapi kesilapan manusia. Seperti yang dijelaskan oleh seorang pembangun berpengalaman dengan pengalaman pengkodan lebih 25 tahun, walaupun pembangun yang paling berhati-hati membuat kesilapan—lupa untuk membuang output debug, mengemaskini pengendalian pengecualian, atau memastikan keserasian pelbagai platform. Menjalankan pembinaan pada mesin berasingan membantu mengesan kesilapan ini tanpa mengira niat atau perhatian pembangun.
Kebimbangan Pengasingan dan Konsistensi Persekitaran
Ramai pengulas menekankan bahawa nilai CI datang daripada menyediakan persekitaran yang konsisten dan terpencil. Apabila ujian dijalankan pada mesin pembangun, ia mungkin lulus kerana bergantung pada konfigurasi khusus untuk persekitaran itu—membawa kepada masalah klasik berfungsi pada mesin saya. Beberapa pembangun mencadangkan bahawa jika pelaksanaan tempatan dikehendaki, penggunaan kontainerisasi atau mesin maya akan diperlukan untuk memastikan konsistensi persekitaran.
Bagi organisasi yang bekerja dengan sistem kompleks yang memerlukan ujian merentasi pelbagai sistem operasi atau konfigurasi perkakasan, CI tempatan menjadi semakin tidak praktikal. Seperti yang dinyatakan oleh seorang pembangun PyTorch, CI cloud menyediakan keselarian dan kepelbagaian persekitaran yang diperlukan yang mustahil untuk direplikasi secara tempatan.
Pertukaran antara Kos dan Kawalan
Aspek kewangan CI tidak boleh diabaikan. Apabila organisasi berkembang, kos CI cloud boleh menjadi besar. Seorang pengulas menyatakan bahawa sebaik sahaja organisasi kejuruteraan anda mencapai saiz tertentu, anda boleh berakhir dengan membelanjakan sejumlah wang yang mengejutkan untuk pengkomputeran CI. Pendekatan gh-signoff berpotensi menawarkan penjimatan kos yang ketara dengan memanfaatkan perkakasan pembangun sedia ada.
Walau bagaimanapun, ini datang dengan pertukaran dalam kebolehauditan dan pematuhan. Beberapa pengulas menyatakan bahawa sistem CI berpusat menyediakan bukti didokumentasi proses ujian—sesuatu yang amat penting untuk organisasi yang tertakluk kepada audit atau keperluan kawal selia.
Alat gh-signoff mewakili eksperimen menarik dalam memikirkan semula aliran kerja pembangunan, tetapi konsensus komuniti mencadangkan ia mungkin paling sesuai untuk pasukan kecil dengan kepercayaan tinggi, aplikasi mudah, dan keperluan pematuhan minimum. Bagi kebanyakan organisasi, terutamanya yang berskala besar, sistem CI tradisional terus menawarkan manfaat yang melebihi kos mereka.
Rujukan: gh-signoff