2009-07-17 20 views
8

Ở đây tại công ty của tôi, chúng tôi có ba máy chủ Hudson CI với hơn 100 công việc được cấu hình. Chúng tôi đang tìm kiếm một cách tự động để định kỳ cấu hình công việc sao lưu và lịch sử xây dựng.Có cách nào (một cách tự động) để sao lưu các tệp Hudson CI?

Hiện tại chúng tôi có một tập lệnh kiến ​​mà chúng tôi định cấu hình là một công việc nhưng không dễ bảo trì và không thanh lịch.

Bạn đã tìm thấy cách nào để quản lý điều này?

Trả lời

3

Có một Backup Plugin. Tôi không tin rằng nó hỗ trợ lập kế hoạch sao lưu định kỳ, nhưng bạn có thể kích hoạt nó bằng cách truy cập nó thông qua URL (giống như một số API từ xa khác của Hudson), trong trường hợp này bạn có thể chỉ đơn giản là thiết lập lập một công việc cron để ping URL.

+1

Có, nó sẽ là một lựa chọn nhưng máy chủ hudson của chúng tôi yêu cầu đăng nhập. Dù sao, Backup Plugin có vẻ là lựa chọn tốt nhất, có lẽ nó chỉ là vấn đề đóng góp một bản vá lên lịch cho dự án. – Kalecser

1

Tôi sẽ quản lý nó bằng giải pháp sao lưu máy chủ doanh nghiệp chuẩn.

Hoặc cuộn của riêng tôi bằng thứ gì đó như BackupPc.

Hoặc kiểm tra tệp cấu hình trong hệ thống kiểm soát phiên bản của bạn.

2

Máy chủ Hudson của tôi chạy trên cửa sổ, vì vậy tôi sử dụng Robocopy cho việc này. Tôi có nó phản ánh tất cả các tập tin trong mỗi nhà hudson của máy chủ xây dựng, không bao gồm các thư mục không gian làm việc. Kể từ khi các bản sao lưu sẽ đến một nơi trung tâm, tôi có một nhiệm vụ theo lịch trình trên một máy chủ tập tin chạy kịch bản của tôi hàng đêm, và các máy chủ Hudson là không biết quá trình.

Các kịch bản có một mục nhập cho mỗi máy hudson:

robocopy path-to-buildserver-hudson nhà sao lưu thư mục-path \ buildserver-name/ZB/E/NP/R: 1/W: 5 "/LOG:%~dp0backup_log.txt"/TEE/XD không gian làm việc

Lưu ý: sau khi máy đầu tiên, nó sẽ trở thành/LOG +: thay vì/LOG: để những cái tiếp theo gắn vào nhật ký. Gương này không xóa các tệp không tồn tại trong nguồn, vì vậy ngay cả khi Hudson được thiết lập để xóa kết quả xây dựng sau X tháng hoặc Y xây dựng, các bản sao lưu vẫn có thể có toàn bộ lịch sử ... cũng như nhật ký giao diện điều khiển và tệp, và có thể tiếp tục nếu nó bị gián đoạn. Nó rất tiện dụng. Nếu bạn không muốn giữ lại các tệp mà Hudson đã xóa, bạn có thể sử dụng/MIR thay vì/E.

Tôi chắc chắn các công cụ tương tự để sao chép hoặc sao chép mạnh mẽ tồn tại trên các nền tảng khác. Ant có thể là đủ nếu được thực hiện đúng.

0

Bên cạnh các plugin sao lưu còn có các plugin thinBackup để sao lưu chỉ các tập tin cấu hình (có sẵn cho Hudson hoặc Jenkins)

Cá nhân tôi muốn làm tất cả các bản sao lưu hệ thống thông qua một hệ thống mà thường là một kịch bản shell trong kết thúc. Tôi đã viết một kịch bản cụ thể Jenkins cho rằng (làm việc cho Hudson quá). Xem https://bitbucket.org/toomasr/jenkins-stuff/src để biết thêm thông tin.

+1

Url được cung cấp tại bitbucket trả về 404 :-( – Jane

+1

Đã sửa lỗi ngay bây giờ, đã chỉnh sửa câu trả lời – toomasr

0

Tôi đang sử dụng thinbackup, hỗ trợ sao lưu toàn bộ và sao lưu vi phân, và bạn có thể lên lịch khi chạy bản sao lưu bằng công việc cron như cú pháp. Nó chỉ sao lưu các cấu hình quan trọng để nó không chiếm nhiều không gian.

Xem thêm chi tiết tại địa chỉ: https://wiki.jenkins-ci.org/display/JENKINS/thinBackup

2

Có tuyệt vời thinBackup plugin.

Nó chỉ sao lưu cấu hình hệ thống và cấu hình công việc thay vì toàn bộ thư mục HUDSON_HOME và có lịch biểu giống như cron. Sexy!

Các vấn đề liên quan