2017-01-28 8 views
1

Я пытаюсь автоматически развернуть свое приложение из Google App Engine. Поэтому я поставил задачу crontab непосредственно из облачной оболочки Google для этой задачи. Он будет проверять, есть ли какие-либо входящие нажатия для мастера git, и он автоматически вытащит изменения и автоматически развернет приложение.Настройка работы crontab для Google App Engine

Процесс вытягивания в порядке. Моя проблема в том, что при выполнении оболочки из crontab она вызывала бы gcloud app deploy, чтобы развернуть приложение в каталоге приложения. Однако он подскажет, что для развертывания приложения потребуется авторизационный вход. Но если я прямо звоню gcloud app deploy, он работает нормально.

Так что я хочу знать, как избежать процесса авторизации auth в задании crontab, если я хочу вызвать команды gcloud. `

+0

Вы можете * использовать 'gcloud auth activate-service-account' cmd https://cloud.google.com/sdk/gcloud/reference/auth/activate-service-account –

ответ

0

Каждый пользователь на машине имеет свой собственный каталог конфигурации gcloud, который содержит свой собственный набор учетных данных. Вероятно, ваш crontab работает как пользователь root, который не использует тот же конфигуратор, что и при входе в систему вручную. Вам нужно войти в систему как пользователь, которым работает crontab.

Это, как говорится, маловероятно, что эта стратегия будет работать на вас. Облачная оболочка предназначена для интерактивного использования через браузер и отключается после периодов бездействия. Оттуда вы не сможете запускать постоянные автоматические процессы.

Смежные вопросы