Если кто-то ищет лучшее / более чистое / параллельное решение, это то, что я делаю:
# deploy.sh
# store deployment command into a string with character % where function name should be
deploy="gcloud functions deploy % --trigger-http"
# find all functions in index.js (looking at exports.<function_name>) using sed
# then pipe the function names to xargs
# then instruct that % should be replaced by each function name
# then open 20 processes where each one runs one deployment command
sed -n 's/exports\.\([a-zA-Z0-9\-_#]*\).*/\1/p' index.js | xargs -I % -P 20 sh -c "$deploy;"
Вы также можете изменить количество процессов, передаваемых с флагом -P
.Я выбрал 20 произвольно.
Это было очень легко и экономит много времени.Надеюсь, это кому-нибудь поможет!