gpt4 book ai didi

ubuntu - 在 ec2 上使用 aws codedeploy 和 ubuntu 部署问题

转载 作者:行者123 更新时间:2023-12-04 18:46:14 25 4
gpt4 key购买 nike

我正在使用适用于 jenkins 的 AWS CodeDeplo 插件部署 ruby​​ 代码。
Jenkins正在触发部署,部署成功。成功我的意思是说将文件复制到服务器是成功的。

服务器在 ubuntu 14.04 和 Ruby2.3.​​1 上运行

部署后,有 .sh 文件要执行。这些详细信息通过 appspec.yml 文件进行维护。它在 appspec.yml 文件中提到以 user: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 文件时,执行总是成功的。

可以关注我做错的地方吗?

最佳答案

CodeDeploy 代理没有 shell 环境。

因为我在部署代码的机器上使用 rvm,并且在我放置的 .sh 文件之上

#!/bin/bash
source /etc/profile.d/rvm.sh
rvm use 2.3.0
#rest of your commands

这对我来说很好。

关于ubuntu - 在 ec2 上使用 aws codedeploy 和 ubuntu 部署问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38509801/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com