Bitbucket не читает мой файл json в кодировке base64 с ключом облачного сервиса Google. Я успешно закодировал и затем расшифровал тот же файл, который Bitbucket пытается декодировать. Но Bitbucket не может сделать это с ошибкой base64: invalid input
. Вот полное сообщение об ошибке:
Status: Downloaded newer image for bitbucketpipelines/google-app-engine-deploy:0.6.1
INFO: Setting up environment.
echo "${KEY_FILE}" | base64 -d >> /tmp/key-file.json
base64: invalid input
gcloud auth activate-service-account --key-file /tmp/key-file.json --quiet --verbosity=warning
ERROR: (gcloud.auth.activate-service-account) Could not read json file /tmp/key-file.json: Unterminated string starting at: line 3 column 17 (char 49)
gcloud config set project wowzers --quiet --verbosity=warning
Updated property [core/project].
INFO: Starting deployment to GCP app engine...
gcloud app --quiet deploy app.yaml --version=14 --promote --stop-previous-version --verbosity=debug --quiet --verbosity=warning
ERROR: (gcloud.app.deploy) You do not currently have an active account selected.
Как я понимаю, это не сработает здесь, на "project_id": "
. Декодированный файл выглядит следующим образом:
{
"type": "service_account",
"project_id": "project-318",
"private_key_id": "...",
...
}
Я попытался передать мой файл ключа в кодировке base64 сначала через переменную среды, а затем через файл. Но с той же ошибкой. Когда он не может извлечь JSON bitbucket пишет эту ошибку: ERROR: (gcloud.auth.activate-service-account) Could not read json file /tmp/key-file.json: No JSON object could be decoded