скрипт bash добавление учетных данных git из скрипта bash - PullRequest
0 голосов
/ 24 декабря 2018

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

git clone https://xxxxxxx

попросит ввести имя пользователя и пароль.

как передать их в скрипте bash?

любые указатели будут оценены

Ответы [ 3 ]

0 голосов
/ 24 декабря 2018

1) Это может помочь вам добавить учетные данные git

2) В настоящее время я работаю с gitlab, и у меня есть его в контейнере с jenkins, в любом случае, чтобы сделать клон, я делаю это:http://<user_gitlab>@ip_gitlab_server/example.git

Я надеюсь, что помогу вам

0 голосов
/ 24 декабря 2018

Вы все равно можете передать имя пользователя и пароль в URL для git clone:

git clone https://username:password@github.com/username/repository.git

Что касается использования сценария bash, Вы можете передать имя пользователя $1 и пароль $2:

git clone https://$1:$2@github.com/username/repository.git

Затем вызовите скрипт:* Поскольку команда с вашим паролем будет записана в вашу историю bash.Однако этого можно избежать, добавив пробел перед командой.

Вы также можете использовать Как мне проанализировать аргументы командной строки в Bash? для более хороших способов использования аргументов командной строки.

Также будьте осторожны, используя URL-кодировку для специальных символов в именах пользователей и паролях.Хорошим примером этого является использование %20 вместо @, поскольку URLS должны использовать стандартную кодировку ASCII для символов вне стандартного набора символов.

0 голосов
/ 24 декабря 2018

Для базовой аутентификации HTTP вы можете:

  1. Передать учетные данные внутри URL:

    git clone http://USERNAME:PASSWORD@some_git_server.com/project.git
    

    WARN это небезопасно: URL сУчетные данные могут быть просмотрены другим пользователем на вашем компьютере с помощью утилит ps или top при работе с удаленным репо.

  2. Использование gitcredentials :

    $ git config --global credential.helper store
    $ git clone http://some_git_server.com/project.git
    
    Username for 'http://some_git_server.com': <USERNAME>
    Password for 'https://USERNAME@some_git_server.com': <PASSWORD>
    
  3. Использование ~/.netrc:

    cat >>~/.netrc <<EOF
    machine some_git_server.com
           login <USERNAME>
           password <PASSWORD>
    EOF
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...