2017-09-13 215 views
0

喜詹金斯和AWS宗师的命令执行shell

我已经在网上查找任何可能的解决方案,但没有得到我的问题的解决方案。我刚刚在一个测试项目下发布了Jenkins执行shell的“eb --version”,但在执行过程中得到了“eb:command not found”。

奇怪的是,如果我通过CLI在Jenkins盒子上发出相同的命令,我得到了很好的回应。有关修复的任何建议吗?在此先感谢

回答

0

您的詹金斯设置有一个不同于您登录的用户路径。

解决办法有两个:

  1. 添加的路径在PATH环境变量中的可执行文件。使用where eb找到正确的路径。然后在Jenkins中,点击 管理Jenkins - >配置系统,全局属性。检查环境变量。设置名称PATH。设置$PATH:/path/to/eb。然后重新启动Jenkins。

  2. 使用完全限定路径调用eb命令。

编辑:添加步骤,在詹金斯更新路径。

+0

感谢Rodrigo的输入,但是我的Jenkins在Linux环境下运行。我不确定是什么改变了,但之前当我从Jenkins执行shell发出“eb --version”时,它会正确回应。我想在Jenkins上执行“eb --version”命令执行shell(没有绝对路径格式),就像我在linux上执行它的方式一样 –

+0

是的,我明白了。尝试#2以上。在登录shell中键入'where eb',然后将完整路径传递给命令进行确认。那么如果这样做,你可以肯定它是一个路径问题。然后你可以修复jenkins中的Path。我将尝试为Jenkins找到Linux特定路径更改。 –

+0

另一个确认的测试:创建一个运行shell命令'echo $ PATH'的作业。将该输出与'where eb'的结果进行比较。应该有一个差异。 –

0

现在已修复,需要创建一个属性文件,该文件基本上是/var/lib/jenkins/.bash_profile文件的副本,该文件具有正确的路径并在Jenkins设置中添加该文件。允许它获得所需的路径。创建属性文件后,您需要在Jenkins-Configure部分设置它,在Prepare jobs环境中放置一个检查,然后在属性文件路径中设置属性文件的完整路径(/var/lib/jenkins/environment_variables.properties),并重启Jenkins