Links

Jenkins CI

Environment variables

The Authentication environment variables can be configured in Jenkins Project Settings..
Alternatively, the default NPM_TOKEN and GH_TOKEN can be easily setup with semantic-release-cli.

Node.js project configuration

Jenkinsfile (Declarative Pipeline) configuration for a Node.js job

Note: The publish pipeline must run a Node version that meets our requirement.
This example is a minimal configuration for semantic-release with a build running a version of Node labelled as "node LTS". Since versions of Node are manually downloaded and labelled, we recommend keeping the version used for the release steps up-to-date with the latest LTS version. See the Jenkins documentation for additional configuration options.
// The release stage in the pipeline will run only if the test stage in the pipeline is successful
pipeline {
agent any
environment {
GH_TOKEN = credentials('some-id')
}
stages {
stage('Test') {
steps {
sh '''
# Configure your test steps here (checkout, npm install, tests etc)
npm install
npm test
'''
}
}
stage('Release') {
tools {
nodejs "node LTS"
}
steps {
sh '''
# Run optional required steps before releasing
npx semantic-release
'''
}
}
}
}

package.json configuration for a Node job

A package.json is required only for local semantic-release installation.
{
"devDependencies": {
"semantic-release": "^18.0.0"
}
}