Câu trả lời:
Có nhiều cách để làm điều này nhưng cách dễ nhất tôi có thể nghĩ là thực hiện sao lưu thư mục Jenkins Home.
Bạn có thể thấy nhà Jenkins của bạn ở đâu với:
echo $JENKINS_HOME
Và ví dụ, nếu bạn chỉ muốn sao lưu các công việc bạn có thể đi tới:
cd $JENKINS_HOME/jobs
Và tạo một bản sao lưu cho thư mục đó.
Tất cả cấu hình đó sẽ là một loạt các tệp XML .
Nếu bạn đang sử dụng hình ảnh docker chính thức của Jenkins , ngôi nhà sẽ ở trên:
/var/jenkins_home
$JENKINS_HOME
biến môi trường: sudo su -s /bin/bash jenkins
và sau đó echo $JENKINS_HOME
, đối với tôi là/var/lib/jenkins
Tất cả jobs/
các tệp công việc ( ) và tệp cấu hình chính ( config.xml
) có thể được tìm thấy trong thư mục chính của Jenkins ( JENKINS_HOME
) trong cấu trúc sau:
JENKINS_HOME
+- config.xml (jenkins root configuration)
+- *.xml (other site-wide configuration files)
+- userContent (files in this directory will be served under your http://server/userContent/)
+- fingerprints (stores fingerprint records)
+- plugins (stores plugins)
+- workspace (working directory for the version control system)
+- [JOBNAME] (sub directory for each job)
+- jobs
+- [JOBNAME] (sub directory for each job)
+- config.xml (job configuration file)
+- latest (symbolic link to the last successful build)
+- builds
+- [BUILD_ID] (for each build)
+- build.xml (build result summary)
+- log (log file)
+- changelog.xml (change log)
Hầu hết các cấu hình đều ở định dạng XML, vì vậy sao lưu tất cả .xml
các tệp là đủ.
Tất cả các cài đặt, nhật ký xây dựng, lưu trữ tạo tác được lưu trữ trong thư mục JENKINS_HOME. Đơn giản chỉ cần lưu trữ thư mục này để sao lưu. Tương tự, khôi phục dữ liệu chỉ là thay thế nội dung của thư mục JENKINS_HOME từ bản sao lưu.
Sao lưu có thể được thực hiện mà không dừng máy chủ, nhưng khi bạn khôi phục, xin vui lòng dừng máy chủ.
Đối với các bản sao lưu nhất quán, nên giữ JENKINS_HOME
thư mục trong kho Git.
Ví dụ:
cd $JENKINS_HOME
git init
shopt -s globstar
git add **/config.xml
git commit -m'Added job config files' -a
và đẩy các tập tin vào kho lưu trữ bên ngoài. Bạn cũng có thể thêm .gitignore
tệp sau để bỏ qua một số tệp.
Liên quan: Có cách nào để giữ các tệp cấu hình Hudson / Jenkins trong kiểm soát nguồn không?
Nếu công việc Jenkins của bạn được xác định trong Jenkinsfile, bạn có thể lưu trữ nó trong kho git và tải nó lên bằng cách sử dụng Pipeline .
Thật không may, vì không phải tất cả các plugin Jenkins đều hỗ trợ Jenkinsfile và Pipeline, bạn sẽ cần phải tự tạo Jenkinsfiles mới nếu bạn muốn chuyển các công việc hiện tại sang định dạng này.
Các SCM Sync Cấu hình Plugin thực hiện chính xác những gì bạn muốn. Hoạt động với svn hoặc git để sao lưu cấu hình công việc và lõi jenkins của bạn, do đó giúp bạn dễ dàng theo dõi ai đã thực hiện thay đổi, cũng như sao lưu.
Có một số cách để sao lưu dữ liệu jenkins và cấu hình chính. Cách tốt nhất để sao lưu là sử dụng plugin Thinbackup. Bạn có thể lên lịch sao lưu kịp thời bằng cách sử dụng biểu thức cron. Bạn có thể cấu hình sao lưu đầy đủ và sao lưu gia tăng là tốt.
Một cách khác để sao lưu dữ liệu và cấu hình là chụp ảnh đĩa của máy chủ chính jenkins của bạn. Cách lý tưởng để thực hiện việc này bằng cách gắn đĩa và liên kết thư mục cấu hình jenkins với điểm gắn đĩa
Cả hai kịch bản đều được giải thích tốt trong bài viết trên blog này . Bạn sẽ có một ý tưởng tốt hơn và các bước cho các cấu hình.
Tôi đang sử dụng các tập lệnh từ sue445/jenkins-backup-script
.
Nó lưu trữ các cài đặt và plugin của Jenkins như:
$JENKINS_HOME/*.xml
$JENKINS_HOME/jobs/*/*.xml
$JENKINS_HOME/nodes/*
$JENKINS_HOME/plugins/*.jpi
$JENKINS_HOME/secrets/*
$JENKINS_HOME/users/*
./jenkins-backup.sh /path/to/jenkins_home archive.tar.gz
# add timestamp suffix
./jenkins-backup.sh /path/to/jenkins_home backup_`date +"%Y%m%d%H%M%S"`.tar.gz
Bạn có thể thử plugin thinBackup (mặc dù nó không được duy trì tích cực) [nếu lấy bản sao lưu logic là tất cả những gì bạn muốn] (tức là hầu hết các tệp xml cấu hình, công việc, nút, v.v.). Kích thước sao lưu sẽ không lớn.
Tôi cần di chuyển một Jenkins từ một phiên bản Windows Server sang một phiên bản khác. Cuối cùng tôi cũng làm được như thế:
C:\Program Files x86\Jenkins
)jenkins.exe install
Điều này sẽ đăng ký Jenkins mới dán như một dịch vụ trên máy mới và sẽ hoạt động giống nhau 100%.
Nếu điều này hoạt động thì nếu bạn cần một bản sao lưu chỉ để đảm bảo an toàn trong tương lai, hãy sao chép thư mục Jenkins ở đâu đó. Nó sẽ hoạt động như một ảnh chụp nhanh.