How to install a bower package using a private git server (SSH)?

EDIT: this guy do exactly the same with success, can't figure out why it's not working for me.

I've just installed git and setup permissions/SSH authentication with public/private key (Centos 6.5). I'm able to pull/push without problems using i.e.:

git clone [email protected]:projects/boilerplate-template

Username is git, code placed in /home/git/projects, repository created with git --init --shared boilerplate-template.

How can I require boilerplate-template with Bower in another project?

I've tried with the following bower.json file without luck:

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

ECMDERR: Failed to execute "git ls-remote --tags --heads git://code.organization.com:projects/boilerplate-template, exit code 128 unable to lookup code.organization.com (port project)...

Sadly it fails because :project is not the port but the path. I've also tried with ssh:// instead of git://:

ENOTFOUND: Package ssh://code.organization.com:projects/boilerplate-template not found.


Ok, found the solution here: Using Bower as the Package Management tool for Internal, Private Libraries. Simply remove git:// or ssh:// and add .git suffix:

"[email protected]:projects/boilerplate-template.git#~1"

Also, if you're using Github and Bower for a private repo you can create a .netrc file if you need to run bower install on a remote server.

e.g. You have a DO droplet and need to checkout a git repo that uses ssh keys, but needs to run bower install with some deps that are private. If you add the .netrc file to your remote machine you will be good to go for deploys/builds.

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

I had trouble getting bower login working, so I went with this approach. <TOKEN> is generated here. It works for private repositories hosted on Github.

"dependencies": {
    "your-package": "https://<TOKEN>:[email protected]/Account/Repository.git"
}

TeamCity had this issue for us when trying to download a private repo from GitHub. In case this helps anyone we solved it by using SSH and providing a GitHub Personal Access Token by running bower login before bower install:

Example dependency in bower.json:

"repository": "[email protected]:Account/Repository.git"

Commands to run within build script:

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