Rumah >pembangunan bahagian belakang >C++ >Penyepaduan Berterusan dengan Tindakan GitHub
Dalam Makmal 8 DPS909, saya meneroka kuasa Integrasi Berterusan (CI), khususnya melalui Tindakan GitHub. Makmal ini merupakan peluang yang baik untuk meningkatkan projek saya dengan mengautomasikan ujian, memastikan kawalan kualiti dan belajar untuk menyepadukan aliran kerja ke dalam amalan pembangunan dunia sebenar.
CI memastikan kod kekal berfungsi dan bebas pepijat dengan setiap perubahan. Ia menghalang pemecahan cawangan lalai dengan menjalankan ujian secara berterusan. Untuk makmal ini, saya bukan sahaja menyepadukan CI ke dalam projek saya sendiri tetapi juga menyumbang ujian kepada projek rakan kongsi saya. Catatan blog ini menggambarkan perjalanan saya melalui tugasan ini.
Untuk menyediakan CI dalam projek saya, saya mencipta GitHub Actions Workflow. Aliran kerja ini dicetuskan pada bila-bila masa:
Di bawah ialah fail YAML yang saya gunakan untuk aliran kerja Tindakan GitHub saya:
name: CI Workflow on: push: branches: - main pull_request: branches: - main jobs: build-and-test: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v3 - name: Set up C++ uses: actions/setup-cpp@v1 with: compiler: gcc - name: Build the project run: | mkdir build cd build cmake .. make - name: Run Tests run: | cd build ctest
Aliran kerja ini menyemak repositori saya, membina projek menggunakan CMake dan menjalankan ujian yang saya tulis dalam Lab 7.
Untuk memastikan aliran kerja berfungsi seperti yang diharapkan, saya:
Aliran kerja CI berjalan seperti yang dijangkakan:
Menggabungkan permintaan tarik ini ke dalam cawangan utama memberi saya keyakinan bahawa projek saya dilindungi daripada pepijat yang tidak disengajakan.
Di bahagian kedua makmal, saya bekerjasama dengan rakan sekelas saya, Inder Parmar, dan menyumbangkan ujian kepada repositori mereka, Tailor4Job.
Menyediakan CI merupakan pengubah permainan untuk aliran kerja pembangunan saya. Berikut ialah beberapa perkara penting:
Berkolaborasi pada repo rakan kongsi merupakan pengalaman yang memperkaya, kerana ia memberi saya pendedahan kepada pangkalan kod, persekitaran ujian dan aliran kerja yang berbeza.
Walaupun saya tidak melaksanakan sepenuhnya cabaran pilihan, saya meneroka:
Langkah-langkah ini boleh meningkatkan lagi kualiti projek dan kemudahan sedia untuk penyumbang baharu.
Makmal 8 mengajar saya kepentingan menyepadukan aliran kerja CI ke dalam projek pembangunan. CI memastikan kawalan kualiti yang konsisten dan memupuk kerjasama, menjadikannya alat yang tidak ternilai dalam pembangunan perisian moden.
Anda boleh melihat kejayaan CI projek saya dan permintaan tarik untuk projek rakan kongsi saya di bawah:
Makmal ini benar-benar meningkatkan pemahaman saya tentang automasi, ujian dan kerjasama dalam pembangunan sumber terbuka.
Atas ialah kandungan terperinci Penyepaduan Berterusan dengan Tindakan GitHub. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!