Saya sangat baru mengenal Git dan saya berencana untuk berkontribusi pada beberapa proyek open-source di GitHub setelah menemukan kesalahan kecil di dalamnya. Setelah mem-forkingnya dan memperbaiki kesalahannya, saya bermaksud melakukan pull request dan saya perhatikan ini muncul:
Gagal - Build Travis CI gagal
Melihat detail yang saya temukan itu disebabkan oleh Could not find .travis.yml
, yang sangat masuk akal karena saya belum masuk ke Travis Cl dengan dan menambahkan .travis.yml ke repositori.
Ini pertama kalinya saya mendengar tentang Travis dan apa yang disebut integrasi berkelanjutan. Dan kedengarannya sangat keren jadi untuk mempelajari lebih lanjut tentang itu, saya mencarinya di Wikipedia.
Travis CI adalah layanan integrasi berkelanjutan terdistribusi yang dihosting yang digunakan untuk membuat dan menguji project yang dihosting di GitHub. Travis CI secara otomatis mendeteksi ketika komit telah dibuat dan didorong ke repositori GitHub yang menggunakan Travis CI, dan setiap kali ini terjadi, Travis akan mencoba membangun proyek dan menjalankan pengujian . Ini termasuk komit ke semua cabang, tidak hanya ke cabang master.
Pemahaman saya saat ini tentang Travis CI adalah bahwa apa yang dilakukannya secara otomatis mendorong proyek git commit -am ".."
dan saya tidak begitu mengerti beberapa bagian darinya.
Dengan membangun proyek dan menjalankan pengujian , pengujian apa yang akan dijalankan? Dan bagaimana itu akan "membangun" proyek? (seperti mengkompilasinya menjadi biner?)
Ini menyatakan bahwa "Ini termasuk komit ke semua cabang" - tetapi bagaimana jika saya tidak ingin berkomitmen ke semua cabang?
Apakah tidak apa-apa jika saya tidak menggunakan Travis Cl sama sekali? Dalam keadaan apa yang terbaik untuk menggunakannya (atau harus digunakan)?
Karena Anda telah menemukan apa itu Travis-CI, saya akan langsung menunjukkan pertanyaan yang Anda miliki.
Dalam
.travis.yml
file yang Anda tentukan OS Anda, bahasa pemrograman, cabang repo Anda, nama file proyek dan detail lainnya. Dengan membaca file ini, Travis-CI akan menggunakan kompiler spesifik yang diinstal di server mereka untuk mengkompilasi kode kami. Mungkin mereka akan memiliki mekanisme yang sama seperti yang kami miliki untuk Github. Untuk pertama kalinya, mereka mungkin menarik kode [jika kita telah menentukan cabang tertentu, mereka mungkin menarik kode hanya dari cabang tersebut]. Juga, kami telah mengotentikasi untuk menggunakan akun kami dengan Travis-CI, setiap kali kami membuat komit, harus ada beberapa pemberitahuan yang harus diaktifkan ke server Travis-CI sehingga itu akan dikenali sebagai komit dan itu akan mulai dikompilasi.Anda dapat menentukan cabang atau cabang yang berbeda
master
. Dan itu hanya harus mengkompilasi cabang tertentu yang ditentukan dalam.travis.yml
file.Ya tidak apa-apa. Bukan masalah besar. Tetapi manfaat apa yang akan Anda lewatkan dengan tidak menggunakan mesin yang mudah diintegrasikan ini dengan repo Anda. Setiap kali Anda komit, mungkin saja ia melewatkan sesuatu dan tidak dapat dikompilasi karena sebuah kode. Bagaimana kamu tahu Jadi, Anda harus menggunakan Travis-CI.
Saya telah menulis posting blog yang dapat Anda baca untuk mengetahui, apa itu Travis-CI, Integrasi Berkelanjutan, dan cara menautkan Travis-CI dengan Github Repo Anda. Saya telah menulisnya untuk repositori Swift.
sumber
Saya pikir saya berada dalam posisi yang sangat baik untuk menjawab pertanyaan Anda karena saat ini saya sedang mempelajari Travis CI. Masalah pertama yang Anda temui di tempat pertama adalah karena proyek yang Anda kontribusikan menggunakan Travis CI untuk menguji dan membangun proyek. Jika proyek tidak menggunakan Travis CI, Anda tidak akan menemukan kesalahan seperti itu.
Solusinya adalah memeriksa situs web Travis CI dan mempelajari cara kerjanya dan bagaimana pengaruhnya terhadap proyek yang Anda kerjakan. Ini akan menempatkan Anda pada posisi yang sangat baik untuk memahami apa yang gagal dalam kode Anda dan cara memperbaikinya.
Untuk menjawab pertanyaan pertama tentang membangun proyek.
Ini berarti bagaimana kode sumber diproses sebelum digunakan / diuji. Itu tergantung pada bahasa yang Anda tulis. Misalnya, jika proyek menulis dengan PHP. Ini tidak akan membuat kode saya menjadi file yang dapat dieksekusi seperti kode sumber C / C ++. Ini akan menjalankan kode PHP saya pada juru bahasa PHP dan mengujinya saat melakukannya. Ini masih melalui proses kompilasi normal yang dilalui bahasa pilihan Anda.
sumber