Saya baru saja mengatur mandor untuk pertama kalinya & saya tidak yakin bagaimana cara menempatkan semua konfigurasi saya di bawah kontrol versi. Saya tahu saya bisa menggunakan Git untuk setiap modul yang saya instal pada Puppet master saya tetapi lebih suka solusi yang lebih holistik yang mencakup tidak hanya modul tetapi juga kelas apa yang dikaitkan dengan setiap host dan variabel apa pun yang ditetapkan pada host. Setiap saran akan sangat dihargai bersama dengan alur kerja terkait. Dalam hal ini relevan, saya memiliki setup GitLab sebagai server Git pusat di situs dan berencana untuk mengatur server CI seperti Jenkins segera.
8
Jawaban:
Ada plugin untuk menjaga definisi infrastruktur Anda di Foreman, cukup banyak versi serial data Anda di Git, dan unggah (dan ubah infrastruktur Anda) perubahan. Mungkin itu akan berguna untukmu
https://github.com/marianitadn/foregit
sumber
Dengan mandor Anda harus dapat melihat semua kelas bersama dengan variabel konfigurasi yang ditugaskan dalam rincian host. Lihat: http://theforeman.org/manuals/1.4/index.html .
sumber
Saya tidak yakin apakah saya mengerti pertanyaan Anda tetapi apakah Anda menemukan "pustakawan boneka" https://github.com/rodjek/librarian-puppet ? Di sana Anda dapat menentukan versi / sha1 dari modul boneka yang ingin Anda gunakan.
sumber
Untuk berjaga-jaga seandainya seseorang membaca ini nanti: Dengan boneka Anda dapat menentukan versi paket / perangkat lunak mana yang ingin Anda instal dengan deklarasi "version => XYZ".
Gene, saya mencoba yang terbaik tetapi saya masih belum mendapatkan pertanyaan Anda. Maaf untuk itu :(
sumber
Saya pikir apa yang Anda kejar sangat sederhana.
Konfigurasi Wayang berada di
/etc/puppet
. Opsi paling sederhana adalah menjalankannyagit init /etc/puppet/
Anda kemudian dapat menambahkan Gitlab sebagai remote dan mendorongnya.
Atau, Anda dapat mencoba sesuatu seperti yang saya jelaskan di sini yang bukan Foreman-centric, tetapi saya tidak melihat alasan mengapa Anda tidak dapat menggunakannya sebagai inspirasi.
sumber
Anda juga dapat mempertimbangkan dllkeeper, yang melakukannya secara otomatis
Anda bahkan bisa menulis seperti pembungkus
vi puppet_wrapper.sh
Saya bekerja dengan ini untuk sementara dan tidak apa-apa untuk kebutuhan saya.
sumber
Saya pikir Anda hanya perlu menyiapkan repositori di git di mana setiap cabang dari repo git akan memetakan ke lingkungan boneka dan ketika Anda ingin mengubah sesuatu dalam boneka, cukup klon repo, buat perubahan, dan dorong ke cabang yang sesuai. Anda juga perlu mengatur git hook yang akan diaktifkan ketika Anda mendorong perubahan Anda ke git repo sehingga memperbarui lingkungan yang dipetakan pada server boneka. Anda dapat melakukan semua ini baik secara manual atau hanya melalui modul boneka ini.
https://github.com/theforeman/puppet-puppet
sumber