как передать ввод в приложение cli во время выполнения

У меня каверзная проблема в моем проекте. У меня приложение работает на VDS. Я установил это приложение с помощью git и composer. Этот проект имеет git-репозиторий, как и локальный.

Я пытаюсь сделать бот для автообновления. Этот бот получит последний коммит / тэг от gitlab и получит его.

Я могу использовать nodejs или php cron.

Но git pull Команда запрашивает мое имя пользователя и пароль.
Я не могу установить расширение php_expect. Пробовал это yuloh/expect библиотека, но она не перехватила ввод имени пользователя.

Вот мой вопрос:
Как и какой метод я должен реализовать для запуска этого git pull команда и передать имя пользователя и пароль?

-2

Решение

Для получения новых обновлений …

git pull https://username:password@gitprovider/vendor/repository "version_code":"version_code"

Для объединения обновлений с приложением конечного пользователя.

git merge "version_code":master

это два вместе полностью обновляет приложение с новой версией.

Что касается защиты паролем, мы собираемся использовать ioncube для файла cron.

1

Другие решения

если я полностью понял ваш вопрос, вы можете попробовать это:

  • Вы можете поместить пароль в файл .netrc (_netrc в Windows). Оттуда это будет взято автоматически. Он пошел бы в вашу домашнюю папку с 600 разрешениями.

  • Вы также можете просто клонировать репо с https://user:pass@domain/repo но это не очень рекомендуется, так как это покажет ваш пользователь / пароль во многих местах …

  • новая опция заключается в использовании помощник по учету. Обратите внимание, что учетные данные будут храниться в виде открытого текста в вашей локальной конфигурации с использованием стандартного помощника учетных данных. Учетные данные помощника с Wincred также могут быть использованы на окнах.

Примеры использования для помощника учетных данных

git config credential.helper store - stores the credentials indefinitely.
git config credential.helper 'cache --timeout=3600'- stores for 60 minutes

Для доступа по ssh вы должны использовать ssh-агент, который при необходимости предоставит ключ ssh. Это потребует генерации ключей на вашем компьютере, хранения открытого ключа на удаленном сервере и добавления закрытого ключа в соответствующее хранилище ключей.

-1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector