Yaml ">" объединяет несколько строк в виде нескольких строк вместо одной строки в AWS :: ECS :: TaskDefinition - PullRequest
0 голосов
/ 24 января 2020

У меня есть это в моем шаблоне облачной информации:

  FargateTaskDefinition:
    Type: AWS::ECS::TaskDefinition
    Properties:
      Cpu: 512
      ExecutionRoleArn: !Ref ECSTaskExecutionRole
      Memory: 2048
      NetworkMode: awsvpc
      RequiresCompatibilities:
        - FARGATE
      TaskRoleArn: !Ref ECSTaskExecutionRole
      ContainerDefinitions:
        -
          Name: "dlt-fargate-task"
          Essential: true
          Image: some/image
          Memory: 500
          LogConfiguration:
            LogDriver: awslogs
            Options:
              awslogs-group: !Ref FargateTaskCloudWatchLogGroup
              awslogs-region: us-east-1
              awslogs-stream-prefix: "dlt-fargate"
          EntryPoint:
            - "/bin/bash"
            - "-c"
          Command:
            - >
              '/bin/bash -c echo ''blah'' > file1.json;
              cat file1.json;
              echo lsdkfjlsdfjsdfj;
              ...do more stuff

Если я добавлю все для команды в той же строке, вот это работает:

      Command:
        - 'bin/bash -c command1 -balh; command2 blah; etc

Но я думаю, что сворачивание yaml функция делает что-то странное, потому что похоже, что она пытается запустить ее как одну команду или что-то вроде

Я думаю, что это проблема: enter image description here

Моя задача определения также отражают это:

В моей задаче def я хочу видеть это при использовании "<" </p>

["echo aaaaa && echo bbbbbb && echo ccccccc"]

Но вместо этого задание def показывает это

["'echo aaaaa && ' 'echo bbbbbb && ' 'echo ccccccc'\n"]

РЕДАКТИРОВАТЬ: не могу поверить, что я не видел этого, я не должен был обернуть строки в кавычки. это работает, как и ожидалось, мне просто нужно было не заключать несколько строк в кавычки

1 Ответ

0 голосов
/ 24 января 2020

Command - это массив, поэтому вы можете поместить в него несколько команд:

          Command:
            - '/bin/bash -c echo ''blah'' > file1.json;
            - cat file1.json;
            - echo lsdkfjlsdfjsdfj;
            - ...do more stuff
...