我正在尝试与Jenkins进行某种集成测试。我正在启动一个tomcat容器,然后我想grep日志文件以获取警告和错误。
问题是,如果grep找不到任何东西,它将返回一个错误代码,并且管道失败。我实际上想要完全相反的行为。如果grep找到了某些东西,它将失败;如果grep没有发现错误或警告,则通过。
stage('Integration Test') {
agent any
steps {
script {
docker.image('memcached').withRun('-p 11211:11211') { c ->
docker.image('gip/notification-service').inside("--link ${c.id}:db") {
sh '/usr/local/tomcat/bin/configtest.sh'
sh '/usr/local/tomcat/bin/startup.sh'
sh 'sleep 60'
sh "grep WARN /usr/local/tomcat/logs/catalina.out"
sh "grep ERROR /usr/local/tomcat/logs/catalina.out"
sh '/usr/local/tomcat/bin/shutdown.sh'
sh 'sleep 10'
}
}
}
}
}