Как установить пакет bower с помощью частного сервера git (SSH)?


EDIT:этот парень делает то же самое с успехом, не могу понять, почему это не работает для меня.

Я только что установил git и настройки разрешений / SSH аутентификации с открытым / закрытым ключом (Centos 6.5). Я могу тянуть / толкать без проблем, используя т. е.:

git clone git@code.organization.com:projects/boilerplate-template

имя пользователя git, код помещен в /home/git/projects, репозиторий создан с git --init --shared boilerplate-template.

как я могу требовать boilerplate-template с беседкой в еще один проект?

я пробовал со следующим bower.JSON-файл без везения:

{
    "name": "my/newproject",
    "dependencies": {
        "boilerplate-template": "git://code.organization.com:projects/boilerplate-template"
    }
}

ECMDERR: не удалось выполнить "git ls-remote --tags --heads в Git://код.организации.в COM:проекты/шаблон-шаблон, код выхода Сто двадцать восемь не удается выполнить поиск code.organization.com (проект порта)...

к сожалению, это не удается, потому что :project - это не порт, а путь. Я также пробовал с ssh:// вместо git://:

ENOTFOUND: пакет ssh:/ / code.organization.com: projects / boilerplate-шаблон не найден.

8 53

8 ответов:

ОК, нашел решение здесь: использование Bower в качестве инструмента управления пакетами для внутренних, частных библиотек. Просто удалите git:// или ssh:// и добавить .git суффикс:

"git@code.organization.com:projects/boilerplate-template.git#~1"

кроме того, если вы используете Github и Bower для частного РЕПО, вы можете создать .netrc файл, если вам нужно запустить bower install на удаленном сервере.

например, у вас есть капля DO и вам нужно проверить репозиторий git, который использует ключи ssh, но должен работать bower install С некоторыми deps, которые являются частными. Если вы добавите .netrc файл на удаленной машине вы будете хорошо идти для развертывания / сборки.

// .netrc where someToken is generated in Github under Personal access token
machine github.com
    login userName
    password someToken

у меня были проблемы с получением bower login работает, поэтому я пошел с этим подходом. <TOKEN> создана здесь. Он работает для частных репозиториев, размещенных на Github.

"dependencies": {
    "your-package": "https://<TOKEN>:x-oauth-basic@github.com/Account/Repository.git"
}

у TeamCity была эта проблема для нас при попытке загрузить частное РЕПО из GitHub. В случае, если это поможет кому-либо, мы решили его с помощью SSH и предоставления GitHub Personal Access Token под управлением bower login до bower install:

пример зависимости в bower.json:

"repository": "git@github.com:Account/Repository.git"

команды для запуска в сборочный скрипт:

bower login -t {GitHub Personal Access Token}
bower install

перейти к https://github.com/settings/tokens, сгенерируйте свой токен

bower login -t {your token} 

bower install

вы можете столкнуться с этой проблемой, если вы также клонируете из частного РЕПО. Принятый ответ верен, однако я хочу прояснить эту проблему:

  1. если у вас есть доступ GitHub SSH к вашей машине, перейдите в репозиторий git и скопируйте ссылку "клон с SSH", а затем поместите ее в bower.файл json.

  2. если у вас есть https(login authentication) настройки для github на вашем компьютере, скопируйте ссылку "клонировать с https", а затем поместите его внутри беседка.файл json. репозиторий

пример: SSH ссылка: git@github.com:Account/Repository.git HTTPS ссылка:https://github.com/Account/Repository.git

Бауэр.JSON-файл:

"dependencies": { 
 "repository": "paste SSH/HTTPS clone line here"
}

как уже упоминалось, установка местоположения пакета:

"git@code.organization.com:projects/yourproject.git"

позволит bower тянуть из репозитория git.

если вы получаете проблему SSH на Windows, вы можете выполнить следующие действия:

  1. скачать шпатлевку инструменты
  2. используйте PuttyGen для создания нового ключа.
  3. сохраните закрытый ключ для ваших пользователей .ssh папка как anything.ppk
  4. скопируйте текст, начиная ssh-rsa в putty gen к буфер обмена
  5. перейти к github и Settings -> SSH keys -> Add SSH key придание вашему ключу названия и вставка текста из PuttyGen в ключевую часть
  6. добавить переменную окружения с именем GIT_SSH со значением, являющимся путем к замазке инструмента ПЛИНК.exe например C:\Program Files\Putty\PLINK.exe
  7. запустить инструмент шпатлевка "конкурс.exe" и добавить код anything.ppk key to pageant (вы можете добавить ярлык в папку автозагрузки с помощью C:\pathtopageant\pageant.exe C:\Users\myuser\.ssh\anything.ppk для автоматического добавления ключа в pageant при запуске)
  8. открыть putty.exe сам, введите имя хоста GitHub enteprise (code.organization.com в приведенном выше примере), или "github.com" в текстовом поле Имя хоста нажмите кнопку "Открыть". Вероятно, вам будет предложено доверять хосту, нажмите Да, чтобы добавить его в свой файл known_hosts, поскольку bower не может сделать это при первом запуске и просто повесил бы
  9. в конце концов bower install!

Я закончил следующим, хотя работал только для частных репозиториев github.

  1. создать маркер доступа Github здесь и установить его в качестве переменной среды GITHUB_TOKEN

  2. определить стенографический преобразователь в .bowerrc:

    "shorthand_resolver": "https://${GITHUB_TOKEN}@github.com/{{owner}}/{{package}}.git"
    
  3. теперь я могу добавить свою зависимость как bower install me/my-private-package или список его в bower.json:

    "dependencies": {
        "my-private-package": "me/my-private-package"
    }
    

работает также для Heroku строит.