How do I setup a bower repository that pulls from a private GitHub Enterprise repository?

To setup a bower repository to pull packages from your private GitHub Enterprise repository, you have to follow these three easy steps:

1. Create and configure a remote bower repository

2. Register the packages 

3. Perform your bower install

Step 1:  Create and configure a remote bower repository

Create a remote repository that references the GitHub Enterprise. You will want to change the URL to your GitHub Enterprise URL, the Git provider to Custom, the Download URL to {0}/{1}/archive/{2}.{3}, the Registry URL to the GitHub Enterprise URL (to avoid ambiguity). For example, if your GitHub Enterprise was accessible at https://gitent.jfrog.info, your configuration would look like this:




NOTE: If your packages are password protected, set the username/password in the Advanced tab


Step 2:  Register the packages 

NOTE: This assumes you have already installed and configured your bower clients to work with Artifactory, as explained here

You will only have to register the packages once. This registration is what tells Artifactory where to get a package from. Instructions for registering packages can be found here. Following the sample from above, if we had a package located at https://gitent.jfrog.info/soleng1/bower-d3, we could register it with the name d3 (you can register it with any name you want but for clarity, it should match what is in bower.json), using the following command:

bower register d3 https://gitent.jfrog.info/soleng1/bower-d3.git

 Registering a package will make it installable via the registry (http://admin:password@192.168.99.100:8081/artifactory/api/bower/bower), continue? Yes

Run bower info d3 to list the available versions.

Step 3:  Perform your bower install


After registering the packages, it should be available to any bower client that is setup to work with the Artifactory repository. You do not need to register it again unless the location of the package changes. You can perform the install as you normally would:

root@38b8ed48cc9c:/data# bower install d3

bower d3#* not-cached art://soleng1/d3#*

bower d3#*  resolve art://soleng1/d3#*

bower d3#* resolved art://soleng1/d3#master

bower d3#~0.0.0 install d3#master