![CommandException: arg [...]는 디렉터리, 버킷 또는 버킷 하위 디렉터리의 이름을 지정하지 않습니다. Compute Engine의 디렉터리](https://rvso.com/image/727038/CommandException%3A%20arg%20%5B...%5D%EB%8A%94%20%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%2C%20%EB%B2%84%ED%82%B7%20%EB%98%90%EB%8A%94%20%EB%B2%84%ED%82%B7%20%ED%95%98%EC%9C%84%20%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%EC%9D%98%20%EC%9D%B4%EB%A6%84%EC%9D%84%20%EC%A7%80%EC%A0%95%ED%95%98%EC%A7%80%20%EC%95%8A%EC%8A%B5%EB%8B%88%EB%8B%A4.%20Compute%20Engine%EC%9D%98%20%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC.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
알리우아님 말씀이 맞습니다. 나는 당신이 문서를 참조하려는 위치를 이해하지만 디렉토리가 로컬인 경우에만 작동합니다. CircleCI를 사용하는 경우 서비스 계정을 사용하고 여기에 올바른 IAM 권한을 할당하는 것이 더 좋습니다.
법선이 rsync
작동 하더라도 gcloud compute scp
또는 를 사용할 수도 있습니다 gcloud compute copy-files
. gsutil rsync
버킷이나 '로컬 디렉토리 전체'에서만 작동합니다.