Saya baru di Hudson / Jenkins dan bertanya-tanya apakah ada cara untuk memeriksa file konfigurasi Hudson ke kontrol sumber.
Idealnya saya ingin dapat mengklik beberapa tombol di UI yang mengatakan 'simpan konfigurasi' dan periksa file konfigurasi Hudson untuk kontrol sumber.
version-control
hudson
jenkins
jenkins-plugins
Yuval Roth
sumber
sumber
Jawaban:
Jawaban yang paling membantu
Ada plugin yang disebut plugin konfigurasi SCM Sync .
Jawaban Asli
Lihat jawaban saya untuk pertanyaan serupa. Ide dasarnya adalah menggunakan filesystem-scm-plugin untuk mendeteksi perubahan pada file xml. Bagian kedua Anda akan melakukan perubahan pada SVN.
EDIT: Jika Anda menemukan cara untuk menentukan pengguna untuk perubahan, beri tahu kami.
EDIT 2011-01-10 Sementara itu ada plugin baru: Plugin konfigurasi SCM Sync . Saat ini hanya bekerja dengan subversi dan git, tetapi dukungan untuk repositori lebih banyak direncanakan. Saya menggunakannya sejak versi 0.0.3 dan sejauh ini berhasil.
sumber
Perhatikan bahwa Vogella memiliki pertanyaan baru-baru ini (Januari 2014, dibandingkan dengan pertanyaan OP Januari 2010) dan berbeda.
Pertimbangkan bahwa plugin konfigurasi SCM Sync dapat menghasilkan banyak komitmen.
Jadi, alih-alih mengandalkan plugin dan proses otomatis, ia mengelola fitur yang sama secara manual:
Menyimpan informasi Pekerjaan Jenkins di Git
Alberto sebenarnya merekomendasikan untuk menambahkan juga (dalam
$JENKINS_HOME
:config.xml
),hudson*.xml
) danusers/*/config.xml
)sumber
config.xml
?Untuk mengelola konfigurasi Anda secara manual dengan Git, file .gitignore berikut mungkin bermanfaat.
Lihat GitHub Gist ini dan posting blog ini untuk lebih jelasnya.
sumber
Ada plug-in Konfigurasi SCM Sync yang baru yang melakukan persis apa yang Anda cari.
Saya belum benar-benar mencoba ini, tetapi terlihat menjanjikan.
sumber
Anda dapat menemukan file konfigurasi di folder rumah Jenkins (mis
/var/lib/jenkins
.).Untuk menyimpannya di VCS, pertama masuk sebagai Jenkins (
sudo su - jenkins
) dan buat kredensial git-nya:Kemudian inisialisasi, tambahkan dan komit file-file dasar seperti:
pertimbangkan juga untuk membuat
.gitignore
file-file berikut untuk diabaikan (sesuaikan sesuai kebutuhan):Kemudian tambahkan:
git add .gitignore
.Setelah selesai, Anda dapat menambahkan file konfigurasi pekerjaan, mis
Terakhir, tambahkan dan komit file lain apa pun jika perlu, lalu dorong ke repositori jauh tempat Anda ingin menyimpan file konfigurasi.
Ketika file Jenkins diperbarui, Anda harus memuatnya kembali ( Reload Configuration from Disk ) atau jalankan
reload-configuration
dari Jenkins CLI.sumber
*.xml
tidak mengubah aturan dan git mengabaikan semua file xml termasukconfig.xml
darijobs
direktori,git status
karenanya mengabaikan proyek baru dengan diam-diam .Cara yang saya sukai adalah mengecualikan semua yang ada di folder home Jenkins kecuali file konfigurasi yang Anda inginkan di VCS Anda. Ini
.gitignore
file yang saya gunakan:Ini mengabaikan segalanya (
*
) kecuali (!
).gitignore
itu sendiri, pekerjaan / proyek, plugin dan file konfigurasi penting dan pengguna lainnya.Ini juga layak dipertimbangkan untuk memasukkan
plugins
folder. Plugin yang diperbarui harus dimasukkan ...Pada dasarnya solusi ini memudahkan pembaruan Jenkins / Hudson di masa depan karena file baru tidak secara otomatis berada dalam ruang lingkup. Anda hanya mendapatkan screeen apa yang Anda inginkan.
sumber
Yang lebih akurat
.gitignore
, terinspirasi oleh balasan dari nepa :Mengabaikan semuanya kecuali
.xml
file konfigurasi dan.gitignore
dirinya sendiri. (perbedaan untuk nepa 's.gitignore
adalah bahwa hal itu tidak 'jangan abaikan' semua direktori tingkat atas (!*/
) sepertilogs/
,cache/
, dll)sumber
Jawaban dari Mark ( https://stackoverflow.com/a/4066654/142207 ) harus berfungsi untuk SVN dan Git (walaupun konfigurasi Git tidak bekerja untuk saya).
Tetapi jika Anda membutuhkannya untuk bekerja dengan repo Mercurial, buat pekerjaan dengan skrip berikut:
sumber
Saya telah menulis sebuah plugin yang memungkinkan Anda memeriksa instruksi Jenkins ke dalam kontrol sumber. Cukup tambahkan
.jenkins.yml
file dengan konten:dan Jenkins akan melakukannya:
sumber
Saya sudah memeriksa hudson sepenuhnya, Anda bisa menggunakan ini sebagai titik awal https://github.com/morkeleb/continuous-delivery-with-hudson
Ada manfaat untuk menjaga seluruh hudson di git. Semua perubahan konfigurasi dicatat dan Anda dapat menguji uji coba dengan cukup mudah pada satu mesin dan kemudian memperbarui mesin lainnya menggunakan git pull.
Kami menggunakan ini sebagai pelat untuk pengaturan pengiriman berkelanjutan hudson kami di tempat kerja.
Salam Morten
sumber