Развертывание сценария: какие команды git позволяют установить / сохранить учетные данные из сценария, а затем удалить их позже без присмотра? - PullRequest
1 голос
/ 06 мая 2020

Я написал простой прослушиватель NodeJS HTTPS для получения POST с токеном аутентификации и учетными данными git. Это будет запущено, когда веб-перехватчик попадет в URL-адрес конечной точки после того, как код будет возвращен в репозиторий.

Я бы хотел взять эти учетные данные и запустить git pull для репозитория, который находится на этом хосте, используя эти учетные данные (а затем запускает некоторые другие вещи, которые выходят за рамки этого вопроса).

В идеале, я бы хотел:

  1. Запустить команду для сохранения имени пользователя и пароля в git диспетчере учетных данных
  2. Запустить git pull, который будет использовать эти учетные данные.
  3. Удалите учетные данные из git диспетчера учетных данных

Я буду делать все это через NodeJS, но я думаю, что в основном это должно быть не имеет отношения к моему вопросу. Если я знаю способ установки / очистки учетных данных из командной строки, я должен быть в хорошей форме.

Кто-нибудь может указать мне правильное направление? Мне было очень трудно расшифровать справочную документацию git по этому поводу. Во всем упоминается ввод учетных данных от человека, а затем их использование в сценарии. Наша группа безопасности не позволит нам этого сделать.

В результате нам нужно ввести учетные данные, а затем очистить их из сценария.

1 Ответ

1 голос
/ 07 мая 2020

Это не совсем то, о чем я просил, но в моем случае это работает. По-видимому, команда git pull поддерживает указание репозитория вместо того, чтобы использовать по умолчанию тот, который находится в репо. В результате я могу сделать следующее для моего конкретного c варианта использования:

git pull https://[URL_ENCODED_USERNAME]:[URL_ENCODED_PASSWORD]@[NORMAL_ENDPOINT_URL]

Друг сказал мне, что это может привести к отображению URL-адреса с PWD с помощью следующей команды, и это может потребоваться необходимо удалить в целях безопасности:

git remote -v

Однако, по крайней мере, с моей версией git (2.17.1), я не нашел URL-адрес, заполненный учетными данными, который бы нигде не отображался. В результате я могу выполнить все три шага, просто выполнив git pull с URL-адресом в нем.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...