【问题标题】:No output for aws elasticbeanstalk in jenkins pipeline詹金斯管道中的aws elasticbeanstalk没有输出
【发布时间】:2021-07-08 13:29:30
【问题描述】:

我无法从 jenkins-pipeline 中的以下代码获得任何输出。

sh'''
echo "Hello"
sh /var/lib/jenkins/devops-scripts/eb.sh
echo "End"
'''

当我在 shell 中手动运行 eb.sh 时,我得到了输出。

这里是eb.sh的内容

envstaus=$(aws elasticbeanstalk describe-environments 
         --environment-names test-environment 
         --query 'Environments[*].[Health]' --output text)

【问题讨论】:

    标签: amazon-web-services shell jenkins-pipeline aws-cli jenkins-groovy


    【解决方案1】:

    是否有可能将命令输出到标准错误而不是标准输出?

    您可以通过以下方式轻松检查: command 2> /dev/null 如果它什么也不打印,那么: command 2>&1 应该有帮助

    【讨论】:

    • envstatus=$(aws elasticbeanstalk describe-environments --environment-names testEnvironment --region ap-south-1 --query \'Environments[*].[Health]\' --output text 2> /dev/null); 你能告诉我是否正确使用它
    • 只要aws elasticbeanstalk describe-environments --environment-names testEnvironment --region ap-south-1 --query \'Environments[*].[Health]\' --output text 是您在管道配置中准确输出的内容,那么可以。有时可能会出现“故障”,例如某些与您想象的不同的环境行为 - 即,出于安全原因,无法设置 env 变量(或者更确切地说,在生成的 shell 中“清理”)。
    • 另外,您确定要使用(da)sh(在 2000 年初重命名)吗?也许shell版本不符合某些posix,您应该在那里尝试bash?说明 dash 是系统的标准命令解释器。当前版本的 dash 正在更改以符合 shell 的 POSIX 1003.2 和 1003.2a 规范。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-09
    • 2018-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多