YAML cURL JSON с переменными - PullRequest
       7

YAML cURL JSON с переменными

0 голосов
/ 10 января 2019

Я использую Bitbucket Pipelines, пытаюсь автоматически передать переменные окружения из Bitbucket в Heroku.

Код устанавливает переменные в Heroku, но устанавливаемые значения - это буквально $ FLASK_ENV, $ FACEBOOK_CLIENT_ID и т. Д., А не их значения. Можно ли подумать, что только переменные внутри структуры JSON не устанавливаются во время выполнения?

script:
    - git push https://heroku:$HEROKU_API_KEY@git.heroku.com/$HEROKU_APP_NAME.git $BITBUCKET_BRANCH:master
    - >-
        curl -n -X PATCH https://api.heroku.com/apps/$HEROKU_APP_NAME/config-vars
        -d '{
        "FLASK_ENV": "$FLASK_ENV",
        "FACEBOOK_CLIENT_ID": "$FACEBOOK_CLIENT_ID",
        "FACEBOOK_CLIENT_SECRET": "$FACEBOOK_CLIENT_SECRET",                       
        "FACEBOOK_SCOPES": "$FACEBOOK_SCOPES",
        "FACEBOOK_TOKEN": "$FACEBOOK_TOKEN",
        "FLASK_APP": "$FLASK_APP",
        "SECRET_JWT": "$SECRET_JWT"
        }'
        -H "Content-Type: application/json"
        -H "Accept: application/vnd.heroku+json; version=3"
        -H "Authorization: Bearer $HEROKU_API_KEY"

1 Ответ

0 голосов
/ 10 января 2019

Решением было поместить их в двойные кавычки, а не в одинарные, как указано здесь: https://superuser.com/questions/835587/how-to-include-environment-variable-in-bash-line-curl

-d '{
"FLASK_ENV": "'"$FLASK_ENV"'",
"FACEBOOK_CLIENT_ID": "'"$FACEBOOK_CLIENT_ID"'",
"FACEBOOK_CLIENT_SECRET": "'"$FACEBOOK_CLIENT_SECRET"'",                       
"FACEBOOK_TOKEN": "'"$FACEBOOK_TOKEN"'",
"FLASK_APP": "'"$FLASK_APP"'",
"SECRET_JWT": "'"$SECRET_JWT"'"
}'
...