Penerapan berkelanjutan dengan gitignore


12

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?


2
Saya memberikan suara untuk menutup pertanyaan ini sebagai di luar topik karena tidak menunjukkan upaya penelitian dasar yang minimum.
Scant Roger

3
Saya tidak melihat kurangnya upaya penelitian. OP tampaknya memahami apa yang dilakukan gitignore dengan sangat baik. Apa yang saya lihat adalah masalah XY, tetapi karena X dan Y dijelaskan dalam pertanyaan, Doc dapat menulis jawaban yang layak yang diharapkan dapat memecahkan masalah nyata OP.
Ixrec

1
@ ScantRoger: sejujurnya, pertanyaannya bisa ditulis lebih baik, tetapi jauh dari beeing begitu buruk sehingga layak mendapatkan suara dekat.
Doc Brown

Jawaban:


14

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.


Setuju, jika memeriksa dari vcs tidak cukup untuk membangun dan menjalankan, meskipun dalam kapasitas yang dikurangi, maka pohon sumber Anda tidak lengkap.
Newtopian

@Newtopian: perhatikan bahwa ini memang disengaja dan benar (lihat contoh saya).
Doc Brown

2

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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.