小编Rya*_*son的帖子

在非根上下文中运行 Linux AWS CodeDeploy 代理时出现问题

我正在使用 AWS CodeDeploy 将代码部署到我们的 AWS Amazon Linux 实例。我遵循了这篇知识库文章https://aws.amazon.com/premiumsupport/knowledge-center/codedeploy-agent-non-root-profile/让代理在 ec2-user 上下文而不是 root 中执行

在进行更改之前,yml 文件中的脚本按预期执行(但我们需要脚本在非 root 上下文中执行)并且设置 runas: appspec.yml 文件的部分似乎没有执行 ec2- 中的脚本用户上下文符合预期

应用程序规范.yml:

version: 0.0
os: linux
files:
  - source: /
    destination: /home/ec2-user/veddor/api
    owner: ec2-user
hooks:
    AfterInstall:
      - location: deploy/script/deploy-veddor-api.sh
        timeout: 300
        runas: ec2-user
Run Code Online (Sandbox Code Playgroud)

进行更改后,现在显示此错误,而不是执行 appspec 文件中指定的脚本

LifecycleEvent - AfterInstall
Script - deploy/script/deploy-veddor-api.sh
[stderr]Password: su: Authentication failure
Run Code Online (Sandbox Code Playgroud)

部署-veddor-api.sh 的内容

cp /home/ec2-user/veddor/api/deploy/config/Config-roddev.php /home/ec2-user/veddor/api/app/config/Config.php
cd /home/ec2-user/veddor/api
chmod +x ./composer.phar
php ./composer.phar install
Run Code Online (Sandbox Code Playgroud)

我正在寻求帮助来弄清楚我需要做什么才能让脚本 deploy-veddor-api.sh 在 ec2-user 上下文中实际运行。

linux amazon-ec2 aws-code-deploy

5
推荐指数
1
解决办法
2632
查看次数

标签 统计

amazon-ec2 ×1

aws-code-deploy ×1

linux ×1