在CentOS上編寫Jenkins腳本通常涉及以下幾個步驟:
sudo yum update -y
sudo yum install java-11-openjdk-devel -y
sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repos
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
sudo yum install jenkins -y
sudo systemctl start jenkins
sudo systemctl enable jenkins
配置Jenkins:安裝完成后,需要配置Jenkins??梢酝ㄟ^訪問Jenkins的Web界面進行配置,包括設置全局工具、安裝插件等。
編寫Jenkins腳本:在Jenkins中,你可以通過創建“Freestyle project”并配置“Build”部分來編寫腳本。在“Build”部分,你可以選擇“Execute shell”或“Execute Windows batch command”來執行shell命令或批處理命令。
例如,以下是一個簡單的shell腳本示例,用于檢查系統信息:
#!/bin/bash
# 設置顏色變量
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
BLUE='\033[0;34m'
NC='\033[0m' # 重置顏色
# 生成分隔線
separator() {
echo -e "${BLUE}=======================================================${NC}"
}
# 系統基本信息檢查
system_info() {
echo -e "\n${GREEN}>>> 系統基本信息檢查${NC}"
separator
echo "主機名 : $(hostname)"
echo "操作系統版本 : $(cat /etc/redhat-release)"
echo "內核版本 : $(uname -r)"
echo "系統運行時間 : $(uptime | awk -F, '{print $1}')"
}
# CPU檢查
cpu_check() {
echo -e "\n${GREEN}>>> CPU檢查${NC}"
separator
echo "CPU型號 : $(lscpu | grep 'Model name' | cut -d':' -f2 | xargs)"
echo "物理核心數 : $(lscpu | grep 'Core(s)' | head -1 | awk '{print $4}')"
echo "邏輯核心數 : $(nproc)"
echo "當前負載 : $(uptime | awk -F 'average:' '{print $2}')"
}
# 內存檢查
memory_check() {
echo -e "\n${GREEN}>>> 內存檢查${NC}"
separator
free -h | awk '/Mem/{print "總內存 : " $2" "print "已用內存 : " $3" "print "可用內存 : " $7}/Swap/{print "交換分區 : " $2" "print "已用交換 : " $3}'
}
# 硬盤檢查
disk_check() {
echo -e "\n${GREEN}>>> 硬盤檢查${NC}"
separator
df -h | awk 'BEGIN {print "掛載點\t\t總大小\t已用\t可用\t使用率"}/^\/dev/ {printf "%-15s %-6s %-6s %-6s %-4s
", $6, $2, $3, $4, $5}' | column -t
}
# 網卡檢查
network_check() {
echo -e "\n${GREEN}>>> 網絡接口檢查${NC}"
separator
for interface in $(ip -o link show | awk -F': ' '{print $2}' | grep -v lo); do
echo "接口名稱 : $interface"
echo "IP地址 : $(ip -o -4 addr show $interface | awk '{print $4}')"
echo "MAC地址 : $(ip link show $interface | awk '/link\/ether/ {print $2}')"
echo "連接速度 : $(ethtool $interface 2>/dev/null | grep Speed | awk '{print $2}')"
echo "連接狀態 : $(ip link show $interface | grep -o 'state [A-Z]*' | awk '{print $2}')"
done
separator
}
# 主函數
main() {
clear
echo -e "\n${YELLOW}====== 開始系統檢查 ======${NC}"
system_info
cpu_check
memory_check
disk_check
network_check
echo -e "\n${YELLOW}====== 檢查完成 ======${NC}"
}
# 執行主函數
main
將此腳本保存為 system_check.sh
,然后添加執行權限并執行:
chmod +x system_check.sh
./system_check.sh
這只是一個簡單的示例,你可以根據自己的需求編寫更復雜的腳本,例如自動化構建、測試和部署流程。Jenkins提供了豐富的插件和接口,可以通過編寫Groovy腳本來實現更高級的自動化任務。