ElasticBeanstalk 服务器用户/组和 `git aws.push`
Posted
技术标签:
【中文标题】ElasticBeanstalk 服务器用户/组和 `git aws.push`【英文标题】:ElasticBeanstalk server users/groups and `git aws.push` 【发布时间】:2014-01-22 21:49:04 【问题描述】:在运行git aws.push
时,如何指定 ElasticBeanstalk EC2 实例上的远程 Unix 用户来创建文件?
是否可以更改默认用户? 默认用户在哪里指定?
【问题讨论】:
【参考方案1】:关于部署过程的说明:AWS Elastic Beanstalk 上没有 git 服务器。 aws.push
只是 shell 命令的包装器,它从本地存储库创建档案并将档案上传到 Elastic Beanstalk 服务器。它是为了方便而制作的。
Elastic Beanstalk 实例上的默认用户是ec2-user
,属于同一组ec2-user
。
您可以使用.ebextensions/appname.config
的实例定制机制创建自己的groups 和users
语法:
users:
<name of user>:
groups:
- <name of group>
uid: "<id of the user>"
homeDir: "<user's home directory>"
groups:
<name of group>:
<name of group>:
gid: "<group id>"
例子:
users:
myuser:
groups:
- group1
- group2
uid: "50"
homeDir: "/tmp"
groups:
groupOne:
groupTwo:
gid: "45"
关于实例定制的更多信息可以在Customizing the Software on EC2 Instances Running Linux找到
使用commands 操作EC2 实例上的文件/目录,使用container commands 操作您的应用程序文件/目录。
container_commands:
10-change-owner:
command: "chown myuser tmpfile"
20-change-group:
command: "chown :mygroup tmpfile"
【讨论】:
好的,但是如何使使用 git 推送到 ElasticBeanstalk 的文件属于我选择的特定用户,而不是默认情况下的“webapp”?也就是说,在使用git aws.push
时如何利用.ebextensions/appname.config
创建的用户?
@AlexanderShcheblikin:更新了答案,提供了有关用户/组的更多信息。
现在我的问题是:这些 chown 命令是否在每个 git aws.push
之后运行?
无论您在 ebextensions/app.config 中使用哪种配置,它都会应用于每个部署,也就是 git aws.push
。您只需配置一次。以上是关于ElasticBeanstalk 服务器用户/组和 `git aws.push`的主要内容,如果未能解决你的问题,请参考以下文章