【问题标题】:Jenkins - bash: aws: command not found but runs fine from terminal詹金斯 - bash:aws:命令未找到,但从终端运行良好
【发布时间】:2021-02-19 12:57:04
【问题描述】:

在构建步骤中,我添加了 Send files or execute command over SSH -> SSH Publishers -> Exec 命令,我正在尝试运行 aws 命令将文件从 ec2 复制到 s3。当我在终端上执行相同的命令时,它运行良好,但通过 jenkins 它只是返回: bash:aws: 找不到命令

命令是 cd ~/.local/bin/ && aws s3 cp /home/ec2-user/lambda_test/lambda_function.zip s3://temp-airflow-us/lambda_function.zip

【问题讨论】:

  • cd ~/.local/bin/ && ./aws s3 cp /home/ec2-user/lambda_test/lambda_function.zip s3://temp-airflow-us/lambda_function.zip怎么样
  • 是的,这行得通。谢谢@Marcin
  • 很高兴听到这个消息。如果您不介意,我会提供答案以供将来参考。

标签: amazon-web-services jenkins ssh


【解决方案1】:

基于 cmets。

解决方案是使用以下命令:

cd ~/.local/bin/ && ./aws s3 cp /home/ec2-user/lambda_test/lambda_function.zip s3://temp-airflow-us/lambda_function.zip

因为awsPATH 环境变量中不可用。

【讨论】:

    【解决方案2】:

    command not found 表示 aws 实用程序不在 jenkins 用户的 $PATH 上。

    要确认,sudo su -l jenkins 然后发出命令 which aws - 这很可能不会返回任何结果。

    你有两个选择:

    1. 使用完整路径(可能是/usr/local/bin/aws
    2. 在 jenkins 用户的 $PATH 中添加 /usr/local/bin

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-03
      • 1970-01-01
      相关资源
      最近更新 更多