解決jenkins執行磁碟滿的問題

qijian0503發表於2018-09-28

前言

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檔案
      vi /etc/sysconfig/jenkins
      複製程式碼
      修改檔案中的JENKINS_HOME,把JENKINS_HOME="/var/lib/jenkins"改成JENKINS_HOME="/home/modules/jenkins"
      修改內容:
      #JENKINS_HOME="/var/lib/jenkins"
      JENKINS_HOME="/home/modules/jenkins"
      複製程式碼
    • 修改/etc/passwd中的jenkins
      把其中的Server:/var/lib/jenkins改成/home/modules/jenkins
      vi /etc/passwd
      修改後的內容如下:
      jenkins:x:994:991:Jenkins Automation Server:/home/modules/jenkins:/bin/false
      複製程式碼
    • 重啟jenkins
      service jenkins restart
      複製程式碼
    • 可能出現的問題
      如果jenkins安裝的maven、gradle是用的自動安裝的方式,需要手動在勾選下“自動安裝”,在儲存,讓其進行重新安裝。因為預設安裝的目錄是在/var/lib/jenkins下。

    參考連結:blog.csdn.net/ling811/art…

相關文章