Mandor & Pengendalian Wayang Versi

8

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.

GeneBean
sumber
Apakah Anda menemukan apa yang Anda cari? Saya masih mencari pendekatan menyeluruh untuk mengelola templat dan konfigurasi Foreman. mgmt. Saya perhatikan pertanyaan ini tidak memiliki jawaban yang diterima.
harperville

Jawaban:

2

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

eLobato
sumber
Pada pandangan pertama, ini mungkin persis apa yang saya cari! Saya akan memeriksanya lebih cepat dan menerima sebagai jawabannya jika ya. Terima kasih!
GeneBean
0

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 .

Ullrich
sumber
Tetapi bagaimana cara saya menerapkan kontrol versi ke semua info itu?
GeneBean
0

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.

Ullrich
sumber
Informasi yang sangat membantu (dan sesuatu yang kemungkinan besar akan saya gunakan) tetapi bukan yang saya cari. Saya mencari untuk menerapkan versi untuk semua hal yang dilakukan di Foreman dan Wayang, bukan hanya modul. Apakah itu menjelaskan apa yang saya coba lakukan?
GeneBean
0

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 :(

Ullrich
sumber
Tidak masalah, saya sangat menghargai upaya ini.
GeneBean
0

Saya pikir apa yang Anda kejar sangat sederhana.

Konfigurasi Wayang berada di /etc/puppet. Opsi paling sederhana adalah menjalankannya

git 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.

chriscowley
sumber
0

Anda juga dapat mempertimbangkan dllkeeper, yang melakukannya secara otomatis

Anda bahkan bisa menulis seperti pembungkus

vi puppet_wrapper.sh

#!/bin/bash
# variables
ETCKEEPER=`which etckeeper`
ETCKEEPER_MSG=$1
PUPPET=`which puppet`
PUPPET_CMD=$2

# Msg would be your commit msg
etckeeper commit $ETCKEEPER_MSG

# PUPPET_CMD e.g. apply
puppet $PUPPET_CMD

Saya bekerja dengan ini untuk sementara dan tidak apa-apa untuk kebutuhan saya.

berisiko
sumber
0

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

Ijaz Ahmad Khan
sumber