я пытаюсь использовать Drone ci для автоматического развертывания моего приложения в Google cloud Compute Engine.Я пытался во многих отношениях, но я не могу развернуть что-нибудь.
У меня есть все этапы тестирования и публикации, я могу автоматически перенести мой код в мой реестр контейнеров Google, построить дроун-образ и отправить его.
Я авторизируюсь на своем экземпляре Compute Engine,Я застрял, пытаясь подключить компьютер к реестру контейнера Google, но я не могу запустить встроенные изображения.Это последний шаг, которого мне не хватает, и я не могу этого сделать.
Это мой файл .drone-ci.yml со следующими шагами:
kind: pipeline
name: my-app
steps:
- name: test
image: node:11-alpine
commands:
- npm install
- npm run test
- name: publish
image: plugins/gcr
settings:
repo: project-id/my-app
dockerfile: Dockerfile
tags: latest
json_key:
from_secret: google_credentials
- name: deploy
image: google/cloud-sdk:alpine
environment:
google_credentials:
from_secret: google_credentials
commands:
- echo $google_credentials > /tmp/$CI_PIPELINE_ID.json
- gcloud auth activate-service-account --key-file /tmp/$CI_PIPELINE_ID.json
- gcloud compute ssh my-instance --zone my-zone --command "cat $google_credentials | sudo docker login -u _json_key --password-stdin https://gcr.io"
- gcloud compute ssh my-instance --zone us-east1-b --command "sudo docker run -d -p 80:3000 --restart always --env-file ./env.list gcr.io/project-id/my-app:latest"
он выдает эту ошибку (это последняя ошибка):
cat: '{': No such file or directory
bash: line 1: type:: command not found
bash: line 2: project_id:: command not found
bash: line 3: private_key_id:: command not found
bash: line 4: private_key:: command not found
bash: line 5: client_email:: command not found
bash: line 6: client_id:: command not found
bash: line 7: auth_uri:: command not found
bash: line 8: token_uri:: command not found
bash: line 9: auth_provider_x509_cert_url:: command not found
bash: line 10: client_x509_cert_url:: command not found
bash: -c: line 11: syntax error near unexpected token `}'
bash: -c: line 11: `} | sudo docker login -u _json_key --password-stdin
https://gcr.io'
Я пытался другими способами, но я никогда не авторизовался успешно в реестре контейнера Google.Как я могу сделать авторизацию Docker Deamon из экземпляра?