2017-02-10 36 views
0

我试图将芹菜服务添加到弹性豆茎环境。所以我决定创建第一个用户和组“芹菜”。我遵循http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html#linux-users页的说明,我创建的配置:Elastic Bean Stalk - 添加用户失败

groups: 
    celery: 
    gid: "101" 

users: 
    celery: 
    groups: 
     - celery 
    uid: "1501" 
    homeDir: "/opt/python/celery" 

但是部署过程中,我得到错误:

[2017-02-10T08:59:23.899Z] INFO [16595] - [Application update [email protected]/AppDeployStage0/EbExtensionPreBuild/Infra-EmbeddedPreBuild] : Activity execution failed, because: Failed to add user celery (ElasticBeanstalk::ExternalInvocationError) 

我也被对矫正HOMEDIR,和UID,以及登录,并gruop ID,但它没有帮助。如何解决它?或者如何通过弹性豆茎来调试useradding?

回答

1

解决方法使用命令部分:

groups: 
    celery: 
    gid: "101" 

commands: 
    command 00_add_user_celery: 
    command: useradd -d /opt/python/celery -g celery -u 1501 celery 
    ignoreErrors: true 
+0

我宁愿将'ignoreErrors'设置为'false'来避免意外。为了使脚本正常工作,可以依靠测试选项。只需添加像'test:test! “'id -u celery 2>/dev/null'”'到命令部分。 –

0

通过404pio解决办法提供了一个解决方案,但ignoreErrors设置为true可以隐藏惊喜错误。

我对那个答案进行了评论,但是格式有限且难以理解。这是提高对错误情况的方式:

groups: 
    celery: 
    gid: "101" 

commands: 
    command 00_add_user_celery: 
    test: test ! "`id -u celery 2> /dev/null`" 
    command: useradd -d /opt/python/celery -g celery -u 1501 celery 
    ignoreErrors: false 

ignoreErrors: false是默认的,也可以省略。

相关问题