Most commonly on Continous Integration, we need to take latest of npm packages which might not be a idle solutions.
The best way is to have a proxy repository which can help to do quick download of npm packages. There are two ways of doing
The best way is to have a proxy repository which can help to do quick download of npm packages. There are two ways of doing
- Setting up GitHub Enteriprise using Couch DB which mimick actual git hub.
- Setting up a proxy which acts as a private git repo which can download only if the package is not available in proxy.
Sinopia
Sinopia is an application acts as a proxy GitHub, which uses express as web server.Prerequisites
- Node JS (NPM Package manager)
- Python 2.x (above 2.5 and less than 3.0)
Recommend Action
- Define Python path in System Environment variable.
- Define npm and npm cache folder to specific folder instead of user profile folder.
Setting up Sinopia
npm install sinopia -g sinopia
This install in global packages under sinopia
Run sinopia from command prompt which starts the server in localhost: 4873
Accessing Sinopia
npm set registry http://localhost/4873
Which register sinopia as npm repository, if we try to execute npm install for any other packes you will be able to see localhost:4873 is called to download package.
We will able to see the package download in sinopia command prompt. If the same package is download again in sinopia command prompt you will see no download
Changing port/Exposing to external machines
- Open full.yaml add
- listen: http://localhost:333/ to run on different port
- listen: http://<serverip:333>/ to expose as server
Setting up Sinopia as Windows Service
- Download WinSW and rename that as sinopia-winsw
- Create a configuration file in c:\sinopia, named sinopia-winsw.xml with the following configuration xml
sinopia sinopia sinopia node c:\sinopia\node_modules\sinopia\lib\cli.js -c c:\sinopia\config.yaml roll c:\sinopia\ - Ensure right folder is set for arguments and working directory.
- sinopia-winsw.exe install
- To install
- sinopia-winsw.exe start
- To start the sinopia as windows services which can avoid command prompt need.
https://github.com/rlidwka/sinopia/wiki/Installing-As-a-Windows-Service
No comments:
Post a Comment