laravel - 安装 whoami 问题后部署 AWS 代码

标签 laravel bitbucket aws-code-deploy

我将从 Envoyer 迁移出去AWS 代码部署以自动部署我的 Laravel 应用程序。

所以我将其添加到我的 afterInstall 脚本中:

cd /project directory
composer install


if [ -f artisan ]
then
    php artisan migrate --force
fi

if [ -f artisan ]
then
    php artisan config:cache
    php artisan queue:restart
fi

但是部署失败并出现此错误

MessageScript at specified location: scripts/after-install.sh run as user user failed with exit code 1 Log TailLifecycleEvent - AfterInstall Script - scripts/after-install.sh [stderr]No passwd entry for user 'user'

这很奇怪。我创建的 AMI 实例已经具有默认用户登录以及 ubuntu sudoers :

grep -Po '^sudo.+:\K.*$' /etc/group
ubuntu,forge

那么为什么它要求输入密码呢?

最佳答案

我必须更改 appspec 文件中的 runAs 部分

in the script specified in "location".
  AfterInstall:
    - location: scripts/after-install.sh
      runas: forge // used to be 'user'

关于laravel - 安装 whoami 问题后部署 AWS 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51645339/

相关文章:

java - 如何使用 GOLang 通过调用 REST API 在 BitBucket 中创建存储库

git - 在存储库中移动文件时如何在 bitbucket 上保留历史记录

amazon-web-services - AWS CodeDeploy 能否为 lambda 进行跨账户部署?

mysql - 如何加入 2 个表并在 laravel 中按父表 id 对它们进行分组?

laravel - 带参数的Laravel路线

使用 Pusher 进行 Laravel 广播无法使用 Vue 进行监听

git - 将 Nitrous.io 连接到 Bitbucket Git SSH 公钥

aws-code-deploy - 使用 CodeDeploy 从同一个 git 部署 2 个应用程序

linux - 使用 IAM 用户凭证为 CodeDeploy 设置 Amazon Linux 实例

php - Laravel 和 Lumen 的 Apache 别名