[英]Shell: how to extract the newest results from find command with multiple output?
[英]How to extract command output from the multi lines shell in Jenkins
stage('Deployment'){
script {
sh """
export KUBECONFIG=/tmp/kubeconfig
kubectl describe deployment nginx | grep Image"""
}
}
如何在環境變量中獲取“kubectl describe deployment nginx | grep Image”的output
這種情況下,可以在env
object中訪問pipeline scope中的環境變量,為其成員賦值,初始化新的環境變量。 您還可以使用sh
step 方法的可選returnStdout
參數來返回該方法的stdout
,因此將其分配給 Groovy 變量(因為它位於管道的script
塊內)。
script {
env.IMAGE = sh(script: 'export KUBECONFIG=/tmp/kubeconfig && kubectl describe deployment nginx | grep Image', returnStdout: true).trim()
}
請注意,您還希望將KUBECONFIG
環境變量放在pipeline
scope 的環境指令中(除非 kubeconfig 在不同范圍內會有所不同):
pipeline {
environment { KUBECONFIG = '/tmp/kubeconfig' }
}
您可以使用以下語法:
someVariable = sh(returnStdout: true, script: some_script).trim()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.