Jenkins于Linux環境處理構建失敗的通用步驟
構建日志是定位失敗原因的核心依據。通過Jenkins Web界面進入項目頁面,點擊Build History中的失敗構建,再選擇左側Console Output查看完整日志(包含命令執行、錯誤堆棧等信息)。若無法訪問界面,可通過Linux命令行查看:
sudo tail -f /var/log/jenkins/jenkins.log
(系統級日志);/var/lib/jenkins/workspace/[job-name]
),打開對應構建編號的日志文件(如log
或build.log
)。JAVA_HOME
、PATH
)是否設置無誤。例如,Maven項目需檢查pom.xml
中的依賴版本是否與本地倉庫一致;mvn clean install -U
、npm cache clean --force
)后重新安裝。jenkins
)需對工作空間目錄(如/var/lib/jenkins/workspace
)、日志目錄(如/var/log/jenkins
)、構建產物目錄(如/var/cache/jenkins
)有讀寫權限??赏ㄟ^sudo chown -R jenkins:jenkins /path/to/directory
修復權限;df -h
)、內存使用(free -m
)、CPU負載(top
)。若磁盤空間不足(如/
分區剩余空間小于10%),需清理舊日志或構建產物;若內存不足,可調整Jenkins JVM參數(如修改/etc/default/jenkins
中的JAVA_OPTS
,增加-Xmx
值)。java -version
檢查當前Java版本,若不符合要求,安裝對應版本(如sudo apt install openjdk-11-jdk
),并通過sudo update-alternatives --config java
設置默認Java版本;mvn
、gradle
、git
)??赏ㄟ^which mvn
檢查命令路徑,若未找到,需安裝對應工具或將其路徑添加到PATH
環境變量(如export PATH=$PATH:/usr/local/maven/bin
,并寫入~/.bashrc
或/etc/profile
);ping github.com
、curl -v https://repo.maven.apache.org
),并確認防火墻(sudo ufw status
)或SELinux(getenforce
)未阻止訪問。若使用代理,需在Jenkins或工具中配置代理(如npm config set proxy http://proxy-ip:port
)。sudo systemctl restart jenkins
),以解決臨時性故障(如內存泄漏、進程卡死)。重啟前需保存未完成的構建任務。grep
過濾錯誤關鍵字(如sudo grep -i "error\|fail\|exception" /var/log/jenkins/jenkins.log
),或使用awk
提取錯誤行(如sudo awk '/ERROR/{print NR, $0}' /var/log/jenkins/jenkins.log
);