![CommandException: arg [...] не указывает каталог, контейнер или подкаталог контейнера для каталога в Compute Engine](https://rvso.com/image/727038/CommandException%3A%20arg%20%5B...%5D%20%D0%BD%D0%B5%20%D1%83%D0%BA%D0%B0%D0%B7%D1%8B%D0%B2%D0%B0%D0%B5%D1%82%20%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3%2C%20%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%20%D0%B8%D0%BB%D0%B8%20%D0%BF%D0%BE%D0%B4%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3%20%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%B0%20%D0%B4%D0%BB%D1%8F%20%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3%D0%B0%20%D0%B2%20Compute%20Engine.png)
Я пытаюсь использовать команду gsutils для развертывания изменений из CircleCI в каталоге моего экземпляра Compute Engine. Команда, которую я использую, следующая:
gsutil -m rsync -d -r dev/ [VM_INSTANCE_NAME]:/var/www/dev/
но я получаю следующую ошибку:
CommandException: arg [...] does not name a directory, bucket, or bucket subdir.
На основеэтот, я смогу выполнить развертывание в каталоге на Compute Engine.
решение1
Alioua прав. Я понимаю, где вы пытаетесь сослаться на документ, но это сработает только если каталоги будут локальными. Если вы используете CircleCI, вам лучше использовать учетную запись службы и назначить ей правильные разрешения IAM.
Хотя обычный вариант rsync
тоже подойдет, можно использовать gcloud compute scp
или gcloud compute copy-files
. gsutil rsync
он будет работать только с контейнерами или «между локальными каталогами».