mirror of
https://github.com/drone-plugins/drone-npm.git
synced 2026-06-04 18:23:52 +08:00
75327df076
* initial attempt at adding in default port agnostic configs for validation with a boolean to disable * first run at tests * more tests and fixing an error in logic in the impl file * adding in extra package.jsons for testing * adding in more tests to cover some more in depth possible variations * Changing to a cleaner code and logic for the comparisons * typo fix and a cleanup of the isNilOrStandardSchemePort logic * making the new env var and settings name be consistent with the cli flag; formatting * Adding in a README section for the new env var; as well as an example without said env var
73 lines
2.8 KiB
Markdown
73 lines
2.8 KiB
Markdown
# 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
|
|
``` |