aws codedeploy的部署问题&;ec2上的ubuntu
我正在使用AWS CodeDeplo插件为jenkins部署一个ruby代码。 Jenkins正在触发部署,部署成功。成功我的意思是说将文件复制到服务器是成功的 服务器运行在ubuntu 14.04和Ruby2.3.1上 部署后,将执行.sh文件。这些详细信息通过appspec.yml文件进行维护。appspec.yml文件中提到了以用户身份执行:devops 正在执行.sh文件,但结果不成功 问题如下: 1..sh文件中的命令包括gem安装。 2.执行的执行会导致错误,因为它总是引用ruby 1.9.3,而不是2.3.1 我们分析了目录/代码部署日志文件,发现如下: 1.codedeploy代理目录由具有4位数字值的用户拥有,例如3456 2.在打印ruby-v时,它的打印格式为1.9.3,即使从终端打印,它也始终显示为2.3.1 3.日志显示了一个错误,即一些gem安装失败,因为没有权限写入gems/1.9.1目录 当我们从终端执行.sh文件时,执行总是成功的aws codedeploy的部署问题&;ec2上的ubuntu,ubuntu,aws-code-deploy,Ubuntu,Aws Code Deploy,我正在使用AWS CodeDeplo插件为jenkins部署一个ruby代码。 Jenkins正在触发部署,部署成功。成功我的意思是说将文件复制到服务器是成功的 服务器运行在ubuntu 14.04和Ruby2.3.1上 部署后,将执行.sh文件。这些详细信息通过appspec.yml文件进行维护。appspec.yml文件中提到了以用户身份执行:devops 正在执行.sh文件,但结果不成功 问题如下: 1..sh文件中的命令包括gem安装。 2.执行的执行会导致错误,因为它总是引用ruby
可以关注一下我哪里做错了吗?CodeDeploy代理没有shell env 因为我在部署代码的机器上使用rvm,并且在我的.sh文件之上,我将
#!/bin/bash
source /etc/profile.d/rvm.sh
rvm use 2.3.0
#rest of your commands
这对我来说很好。您在机器上使用rvm吗?