CloudFormation:如何使用元数据运行bash脚本

时间:2018-11-22 14:00:43

标签: amazon-web-services amazon-cloudformation

以下代码片段来自CloudFormation模板,是configSet的一部分。

我尝试创建一个bash脚本,并使用文件将其保存到/ var / composer: 这部分工作正常。

然后,该脚本尝试使用“命令:”执行bash脚本。 这行不通。 -有什么想法吗?

deployComposer:
      files:
        /var/composer/composer.sh:
          content: !Join 
            - ''
            - - 
                #!/bin/sh

                 EXPECTED_SIGNATURE="$(wget -q -O - 
                 https://composer.github.io/installer.sig)"
                sudo php -r "copy('https://getcomposer.org/installer',
                'composer-setup.php');"
                 ACTUAL_SIGNATURE="$(php -r "echo hash_file('sha384', 'composer-setup.php');")"

                 if [ "$EXPECTED_SIGNATURE" != "$ACTUAL_SIGNATURE" ]
                 then
                     >&2 echo 'ERROR: Invalid installer signature'
                   sudo  rm composer-setup.php
                     exit 1
                 fi

                sudo php composer-setup.php --quiet
                 RESULT=$?
                sudo  rm -rf composer-setup.php

                sudo mv composer.phar /usr/local/bin/composer

                 exit $RESULT
          mode: '000777'
          owner: root
          group: root
        commands:
          installComposer:
            command: ./composer.sh
            cwd: /var/composer/

0 个答案:

没有答案