備份還原全部的Jenkins檔案

其實比想像中簡單無痛一點
在 /var/jenkins_home/ 目錄下
tar zcvf yt-backup.tar.gz --exclude=./war --exclude=./.npm --exclude=./workspace --exclude=./tools --exclude=./plugins ./*
有些要過濾是因為太大了,不利於專案維護[1]
yt-backup.tar.gz複製出來後

把container砍掉 (e.g., docker-compose down)
docker-compose up 會看到乾淨的 jenkins
接著輸入以下指令進入 jenkins 容器
bash -c "clear && docker exec -it jenkins bash"
切換到 /var/jenkins_home/ 目錄
cp /YOUR-BACKUP-FILE-FOLDER/yt-backup.tar.gz .
tar zxvf yt-backup.tar.gz
重啟container,所有的檔案就回來了~


[1]. 根據樓下的大大建議,如果有遇到因為沒有完整備份跑不動jenkins的夥伴 ,可以不要排除檔案下這樣就好: tar zcvf yt-backup.tar.gz ./*

留言

  1. tar zcvf yt-backup.tar.gz --exclude=./war --exclude=./.npm --exclude=./workspace --exclude=./tools --exclude=./plugins ./* 會使很多套件包都沒被備份,導致jenkins根本無法啟動
    最好的方式還是直接tar zcvf yt-backup.tar.gz就好。

    回覆刪除
    回覆
    1. tar zcvf yt-backup.tar.gz ./*

      刪除
    2. 耶~~~ 看起來有可能是有些case沒有測到
      自己用起來是可以跑起來的
      我會加到備註裡,相當感謝你的經驗分享~!

      刪除

張貼留言