Solusi tipikal adalah membuat CI (Continuous Integration) build berjalan di server build: Ini akan menganalisis kode sumber, membuat build (dalam debug) dan menjalankan tes, mengukur cakupan tes, dll.
Sekarang, tipe build lain yang biasanya dikenal adalah "Nightly build": melakukan hal-hal lambat seperti membuat dokumen kode, membuat paket setup, menyebarkan ke lingkungan pengujian, dan menjalankan tes otomatis (asap atau penerimaan) terhadap lingkungan pengujian, dll.
Sekarang, pertanyaannya:
- Apakah lebih baik memiliki "Rilis build" terpisah ketiga sebagai build rilis?
- Atau apakah "Nightly build" dalam mode rilis dan menggunakannya sebagai rilis?
Apa yang Anda gunakan di perusahaan Anda?
(Rilis rilis juga harus menambahkan semacam tag ke kontrol sumber versi produk potensial.)
sumber
Satu hal yang saya ingin lakukan adalah meletakkan build nightly dalam mode rilis daripada mode debug. Dengan kerangka kerja logging seperti log4net menggantikan System.Diagnostics.Debug perbedaan utama antara mode Release dan Debug adalah masa hidup objek dan optimisasi kode.
Kecuali Anda benar-benar akan melampirkan debugger ke build malam Anda maka saya sarankan melakukan ini juga.
Proses yang kami ikuti adalah bahwa build malam berjalan setiap malam dan jika itu berhasil maka kami dapat menggunakan build yang sama ke server kami yang lain (tidak ada pembangunan kembali, cukup ambil installer yang dikemas dan jalankan). Jika kami memiliki masalah dengan build malam maka kami memeriksa perubahannya di cabang, dan menjalankan build 'malam' di cabang itu di siang hari. Tes kemudian dapat dijalankan kembali.
sumber