1
0
mirror of https://github.com/SAP/jenkins-library.git synced 2024-12-12 10:55:20 +02:00
sap-jenkins-library/resources/metadata/npmExecuteScripts.yaml
Christopher Fenner f78777f784
feat(npm): allow to publish artifact to registry (#2871)
* add new paraeters

* update generated sources

* run npm publish

* add repositoryUrl parameter

* handle registry credentials

* rename parameter

* handle base64encoding

* remove vault reference

* make username secret

* add publish method

* use publish method

* use dedicated registry

* use dry run

* fix

* prepend path

* fix workdir

* move code to npm package

* do changes

* update dependencies

* correct property init

* remomve dry-run

* regenerate

* add mock

* add logging

* add debug log

* dry-run

* remove try run

* remove append

* add debug outut

* change

* add debug output

* changes

* cleanup

* use different auth property

* add credential utils

* add debug log outputs

* remove auth handling & reuse writeFile

* rename

* fix debug output

* remove comments

* update comment

* rename function

* update docs

* update generated files

* handle npm ignore

* remove commented code

* add debug output
2021-07-15 14:46:04 +02:00

122 lines
3.9 KiB
YAML

metadata:
name: npmExecuteScripts
aliases:
- name: executeNpm
description: Execute npm run scripts on all npm packages in a project
longDescription: |
Execute npm run scripts in all package json files, if they implement the scripts.
spec:
inputs:
resources:
- name: source
type: stash
params:
- name: install
type: bool
description: Run npm install or similar commands depending on the project structure.
scope:
- PARAMETERS
- STAGES
- STEPS
default: true
- name: runScripts
type: "[]string"
description: List of additional run scripts to execute from package.json.
scope:
- PARAMETERS
- STAGES
- STEPS
- name: defaultNpmRegistry
type: string
description: URL of the npm registry to use. Defaults to https://registry.npmjs.org/
scope:
- PARAMETERS
- GENERAL
- STAGES
- STEPS
aliases:
- name: npm/defaultNpmRegistry
- name: virtualFrameBuffer
type: bool
description: (Linux only) Start a virtual frame buffer in the background. This allows you to run a web browser without the need for an X server. Note that xvfb needs to be installed in the execution environment.
scope:
- PARAMETERS
- STAGES
- STEPS
- name: scriptOptions
type: "[]string"
description: Options are passed to all runScripts calls separated by a '--'. './piper npmExecuteScripts --runScripts ci-e2e --scriptOptions '--tag1' will correspond to 'npm run ci-e2e -- --tag1'
scope:
- PARAMETERS
- STAGES
- STEPS
- name: buildDescriptorExcludeList
type: "[]string"
description: List of build descriptors and therefore modules to exclude from execution of the npm scripts. The elements can either be a path to the build descriptor or a pattern.
scope:
- PARAMETERS
- STAGES
- STEPS
default: ["deployment/**"]
- name: buildDescriptorList
type: "[]string"
description: List of build descriptors and therefore modules for execution of the npm scripts. The elements have to be paths to the build descriptors. **If set, buildDescriptorExcludeList will be ignored.**
scope:
- PARAMETERS
- STAGES
- STEPS
- name: createBOM
type: bool
description: Create a BOM xml using CycloneDX.
scope:
- GENERAL
- STEPS
- STAGES
- PARAMETERS
default: false
- name: publish
type: bool
description: Configures npm to publish the artifact to a repository.
scope:
- STEPS
- STAGES
- PARAMETERS
- name: repositoryUrl
type: string
description: Url to the repository to which the project artifacts should be published.
scope:
- GENERAL
- PARAMETERS
- STAGES
- STEPS
resourceRef:
- name: commonPipelineEnvironment
param: custom/repositoryUrl
- name: repositoryPassword
type: string
description: Password for the repository to which the project artifacts should be published.
scope:
- GENERAL
- PARAMETERS
- STAGES
- STEPS
secret: true
resourceRef:
- name: commonPipelineEnvironment
param: custom/repositoryPassword
- name: repositoryUsername
type: string
description: Username for the repository to which the project artifacts should be published.
scope:
- GENERAL
- PARAMETERS
- STAGES
- STEPS
secret: true
resourceRef:
- name: commonPipelineEnvironment
param: custom/repositoryUsername
containers:
- name: node
image: node:lts-stretch