Saya dan grup saya sangat buruk saat menaikkan nomor versi perakitan dan kami sering mengirimkan rakitan dengan versi 1.0.0.0. Jelas, ini menyebabkan banyak sakit kepala.
Kami menjadi jauh lebih baik dengan praktik kami melalui platform CI kami dan saya benar-benar ingin mengaturnya untuk menaikkan nilai secara otomatis di dalam assemblyinfo.cs
file sehingga versi rakitan kami diperbarui secara otomatis dengan perubahan kode dalam rakitan itu.
Saya sebelumnya telah menyiapkan (sebelum kami menemukan Hudson ) cara untuk meningkatkan nilai melalui salah satu msbuild
atau baris perintah (tidak dapat mengingat), tetapi dengan Hudson, itu akan memperbarui repositori SVN dan memicu build LAIN. Itu akan menghasilkan loop tanpa batas yang lambat karena Hudson melakukan polling SVN setiap jam.
Apakah meminta Hudson menaikkan nomor versi adalah ide yang buruk? Apa cara alternatif untuk melakukannya?
Idealnya, kriteria solusi saya adalah yang:
- Tambahkan nomor build
assemblyinfo.cs
sebelum build - Hanya menambah nomor build di rakitan yang telah berubah. Ini mungkin tidak dapat dilakukan karena Hudson menghapus folder proyek setiap kali membangun
- Melakukan assemblyinfo.cs diubah ke dalam repositori kode (saat ini VisualSVN )
- Tidak menyebabkan Hudson memicu build baru saat build berikutnya memindai perubahan
Mengerjakan ini di kepala saya, saya dapat dengan mudah menemukan solusi untuk sebagian besar ini melalui file / perintah batch, tetapi semua ide saya akan menyebabkan Hudson memicu build baru saat memindai berikutnya. Saya tidak mencari seseorang untuk melakukan segalanya untuk saya, cukup arahkan saya ke arah yang benar, mungkin teknik untuk membuat Hudson mengabaikan komitmen SVN tertentu, dll.
Semua yang saya temukan sejauh ini hanyalah artikel yang menjelaskan cara mendapatkan nomor versi yang bertambah secara otomatis, tidak ada yang memperhitungkan platform CI yang dapat diputar menjadi loop tanpa batas.