前言
jenkins伺服器,執行了一段時間後,發現伺服器磁碟目錄快不夠用了。通過
du -h --max-depth=1 /
逐級目錄排查,發現/var/lib/jenkins目錄檔案過大。通過以下兩種方法,解決該問題。
優化方案
-
自動丟棄構建歷史資料
把以前構建過的過時歷史資料自動清除掉,保留最近更新的天數和個數,根據個人需求保留。如下圖 -
更改jenkins預設目錄
我這裡之前的jenkins已經配置好並執行了一段時間,並不想重灌jenkins。所以需要轉移jenkins目錄,把預設目錄/var/lib/jenkins,更改到其他大目錄或者磁碟中。我這的環境是用的阿里雲centos7,我把預設目錄轉移到/home/modules下
- 把/var/lib/jenkins拷貝到/home/modules下
cp -r /var/lib/jenkins /home/modules #因為是在root使用者下操作的,所以需要更改目錄所屬使用者為預設使用者jenkins chown -R jenkins:jenkins /home/modules/jenkins 複製程式碼
- 修改/etc/init.d/jenkins的jenkins目錄
DAEMON_ARGS="--name=$NAME --inherit --env=JENKINS_HOME=/home/modules/jenkins --output=$JENKINS_LOG --pidfile=$PIDFILE" 複製程式碼
- 修改/etc/sysconfig/jenkins檔案
修改檔案中的JENKINS_HOME,把JENKINS_HOME="/var/lib/jenkins"改成JENKINS_HOME="/home/modules/jenkins"vi /etc/sysconfig/jenkins 複製程式碼
修改內容:#JENKINS_HOME="/var/lib/jenkins" JENKINS_HOME="/home/modules/jenkins" 複製程式碼
- 修改/etc/passwd中的jenkins
把其中的Server:/var/lib/jenkins改成/home/modules/jenkinsvi /etc/passwd 修改後的內容如下: jenkins:x:994:991:Jenkins Automation Server:/home/modules/jenkins:/bin/false 複製程式碼
- 重啟jenkins
service jenkins restart 複製程式碼
- 可能出現的問題
如果jenkins安裝的maven、gradle是用的自動安裝的方式,需要手動在勾選下“自動安裝”,在儲存,讓其進行重新安裝。因為預設安裝的目錄是在/var/lib/jenkins下。
- 把/var/lib/jenkins拷貝到/home/modules下