Selain jawaban @ simon.
Tidak semua dalam rekayasa perangkat lunak adalah tentang pemrograman, perancangan atau pemodelan. Ada banyak sekali tugas yang kami lakukan terus menerus selama hari kerja. Anda telah menyebutkan satu - membangun proyek di luar IDE - tetapi ada banyak lagi.
Pengembang yang berpengalaman / proaktif cenderung mengotomatiskan tugas-tugas ini. Beberapa, bahkan membangun alat ketika tugas-tugas ini menjadi bagian dari SDLC dan mereka membosankan - dan rawan kesalahan - harus dilakukan dengan tangan. Program bagus dalam melakukan pekerjaan yang berulang, tidak peduli seberapa membosankannya mereka. Kita - manusia - tidak sebaik itu.
Alat / skrip ini memiliki efek samping positif lainnya
- Produktifitas
- Transfer pengetahuan
- Otonomi (untuk pendatang baru)
Jadi, ya skrip harus di SCM dan mereka harus menjadi satu alat lagi di kotak alat pengembang.
Mengenai folder /scripts
saya akan mengatakan bahwa itu tidak masalah. Untuk kesederhanaan saya meninggalkan mereka di direktori root proyek sehingga semua rute yang dinyatakan dalam skrip relatif ke folder proyek. Jika saya memerlukan akses ke folder atau file eksternal, saya membuat tautan lunak .
Hal yang perlu dipertimbangkan sebelum memeriksa skrip ke dalam SCM.
Untuk keamanan, pastikan skrip tidak memiliki kredensial hardcoded - idealnya, skrip harus parametrized dengan baik -
Pastikan skrip tidak melakukan hal-hal aneh pada sistem, seperti misalnya untuk mengeksekusi perintah yang tidak dapat dibatalkan (yang paling khas rm -rf
).
Karena ini menjadi bagian dari sumber proyek, dokumentasi sangat dihargai.
Scripting bukan ilmu roket. Buat skrip ringkas. Alih-alih satu untuk memerintah mereka semua ... dan dalam kegelapan mengikat mereka , buat lebih, lebih kecil dan ringkas. Seolah Anda sedang menerapkan SRP.