Как использовать AWS ebextensions, как правильно передать массив команд для своих документов?
Я пытаюсь передать несколько команд в conainter_commands
вход и получать ошибки. Тем не менее, когда я передаю те же команды, что и отдельные записи, он работает нормально.
Работает:
container_commands:
01_remove_old_dump:
command: 'rm -f /tmp/db.dump'
02_get_new_dump:
command: 'aws s3 cp s3://bucket/db.dump'
Сбой с /bin/sh: rm -f /tmp/db.dump: No such file or directory.
container_commands:
01_remove_old_dump:
command: ('rm -f /tmp/db.dump' 'aws s3 cp s3://bucket/db.dump')
1 ответ
Решение
Неважно, я просто разбил строки с блоком YAML, и это работает:
01_command:
command: |
if [[ ! $ENVIRONMENT = "PROD" ]] && [[ $RDS_HOSTNAME ]]
rm -f /tmp/db.dump
aws s3 cp s3://bucket/db.dump
pg_restore -H $RDS_HOSTNAME dbname /tmp/db.dump
echo "Refreshing database..."
else
Echo "Environment is ${ENVIRONMENT}. Skipping database refresh..."
fi
ПРИМЕЧАНИЕ. Удалено это, похоже, не работает (всегда возвращает true):
test: |
[[ ! $ENVIRONMENT = "PRODUCTION" ]] && \
[[ $RDS_HOSTNAME ]] && \
echo "Refreshing database..."