【发布时间】:2020-08-03 05:04:09
【问题描述】:
我想在 Jenkins 文件中作为管道在多个服务器上运行以下命令以获取报告我是 Jenkins 新手,想知道如何编写 Jenkins 文件
Shell 命令: 主机名=$(主机名) DATE=$(日期 "+%d-%m-%y %H:%M:%S") CPUUSAGE=$(top -b -n 1 -d1 | grep "Cpu(s)" |awk '{print $2}' | awk -F.'{print $1}') MEMUSAGE=$(free |grep Mem |awk '{print $3/$2 * 100.0}')
我尝试过的:
pipeline {
agent {label 'server1,server2'}
environment {
def CPUUSAGE=0;
def MEMUSAGE=0;
}
stages {
stage('Check System Usage') {
steps {
script {
CPUUSAGE = sh '''"top -bn1 | grep load | awk '{printf "%.2f%%\t\t\n", $(NF-2)}'", returnStdout: true).trim()'''
MEMUSAGE = sh '''"free -m | awk 'NR==2{printf "%.2f%%\t\t", $3*100/$2 }'", returnStdout: true).trim()'''
END { printf( "\n" ); }'", returnStdout: true).trim()'''
println("CPUUSAGE = ${CPUUSAGE}","MEMUSAGE = ${MEMUSAGE}")
}
}
}
}
请帮忙 谢谢 萨玛
【问题讨论】:
标签: shell jenkins jenkins-pipeline sh jenkins-groovy