Saat melakukan penyebaran berkelanjutan dengan Git, bagaimana Anda menangani file yang diabaikan di gitignore? File-file itu diabaikan karena alasan privasi (yaitu tidak ingin mereka didorong ke repositori jarak jauh lainnya , seperti GitHub), tetapi dengan file-file yang diabaikan itu tidak didorong ke repositori penyebaran terus menerus, aplikasi mereka tidak akan berjalan (karena file yang diabaikan adalah diperlukan agar perangkat lunak berfungsi dengan benar).
Bagaimana orang biasanya melakukan ini? Dalam hal ini, apakah Git bukan kandidat terbaik untuk penyebaran berkelanjutan karena file yang diabaikan?
version-control
user3175663
sumber
sumber
Jawaban:
Jika perangkat lunak Anda tidak berjalan tanpa file-file itu, Anda akan memiliki masalah dengan segala jenis penyebaran, manual, otomatis atau berkelanjutan, dengan segala jenis VCS, atau bahkan tanpa VCS apa pun. Jadi, ubah perangkat lunak Anda sehingga dapat berjalan sebenarnya tanpa file-file itu (misalnya, itu dapat mengasumsikan semacam "parameter default" jika file tersebut hilang), atau Anda memberikan beberapa versi file yang cocok untuk penyebaran yang disalin ( sebagai bagian dari langkah penerapan) ke lingkungan tujuan jika tidak ada versi "pribadi" dari file-file itu di tempat.
Jika Anda berbicara tentang sesuatu seperti file yang berisi kredensial database untuk masuk ke server, yang, karena alasan keamanan, Anda tidak ingin berada di kontrol versi, maka Anda harus memasukkan file itu ke lingkungan penyebaran sekali , mungkin secara manual , oleh orang yang memiliki hak yang cukup atau tahu kata sandi. Tapi itu disengaja dan tidak boleh menghentikan Anda dari menyebarkan versi baru harian perangkat lunak Anda. Pastikan saja file kredensial yang ada tidak ditimpa saat Anda menggunakan versi baru.
sumber
Pilihan lain adalah menyimpan informasi sensitif di dalam alat penyebaran Anda. Dan konfigurasi alat penyebaran dalam repositori sumber pribadi yang terpisah.
Membiarkan data sensitif pada mesin target berfungsi, tetapi mungkin sedikit membusuk - seseorang mengubahnya tidak mengikuti prosedur, rem mesin dan tidak ada yang mengingat pengaturan yang benar, dll ...
Saltstack misalnya memiliki https://docs.saltstack.com/en/latest/topics/pillar/index.html
sumber