https://github.com/drone-plugins/drone-npm
Drone plugin for publishing packages to NPM
https://github.com/drone-plugins/drone-npm
drone drone-plugin
Last synced: 4 months ago
JSON representation
Drone plugin for publishing packages to NPM
- Host: GitHub
- URL: https://github.com/drone-plugins/drone-npm
- Owner: drone-plugins
- License: apache-2.0
- Created: 2015-08-31T17:41:52.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2025-03-03T15:15:20.000Z (over 1 year ago)
- Last Synced: 2025-03-03T15:25:00.326Z (over 1 year ago)
- Topics: drone, drone-plugin
- Language: Go
- Homepage: http://plugins.drone.io/drone-plugins/drone-npm
- Size: 252 KB
- Stars: 20
- Watchers: 9
- Forks: 20
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# drone-npm
[](http://cloud.drone.io/drone-plugins/drone-npm)
[](https://gitter.im/drone/drone)
[](https://discourse.drone.io)
[](https://stackoverflow.com/questions/tagged/drone.io)
[](https://microbadger.com/images/plugins/npm "Get your own image badge on microbadger.com")
[](http://godoc.org/github.com/drone-plugins/drone-npm)
[](https://goreportcard.com/report/github.com/drone-plugins/drone-npm)
Drone plugin to publish files and artifacts to a private or public NPM registry. For the usage information and a listing of the available options please take a look at [the docs](http://plugins.drone.io/drone-plugins/drone-npm/).
## Build
Build the binary with the following command:
```console
export GOOS=linux
export GOARCH=amd64
export CGO_ENABLED=0
export GO111MODULE=on
go build -v -a -tags netgo -o release/linux/amd64/drone-npm
```
## Docker
Build the Docker image with the following command:
```console
docker build \
--label org.label-schema.build-date=$(date -u +"%Y-%m-%dT%H:%M:%SZ") \
--label org.label-schema.vcs-ref=$(git rev-parse --short HEAD) \
--file docker/Dockerfile.linux.amd64 --tag plugins/npm .
```
## Usage
### Standard Local Usage
```console
docker run --rm \
-e NPM_USERNAME=drone \
-e NPM_PASSWORD=password \
-e NPM_EMAIL=drone@drone.io \
-v $(pwd):$(pwd) \
-w $(pwd) \
plugins/npm
```
#### With a specified registry for validation
This will allow the setting of the defautl publishing registry. This will also raise a validation error if the publish configuration of the npm package is not pointing to the specified registry.
```console
docker run --rm \
-e NPM_USERNAME=drone \
-e NPM_PASSWORD=password \
-e NPM_EMAIL=drone@drone.io \
-e NPM_REGISTRY="https://fakenpm.reg.org/good/path" \
-v $(pwd):$(pwd) \
-w $(pwd) \
plugins/npm
```
#### Ignore registry validation
This will all the setting of a default publishing registry but will skip the verification of it being the same as the one in the npmrc. In this instance no validation error is raised and the registry in the npm rc is used
```console
docker run --rm \
-e NPM_USERNAME=drone \
-e NPM_PASSWORD=password \
-e NPM_EMAIL=drone@drone.io \
-e NPM_REGISTRY="https://fakenpm.reg.org/good/path" \
-e PLUGIN_SKIP_REGISTRY_VALIDATION=true \
-v $(pwd):$(pwd) \
-w $(pwd) \
plugins/npm
```