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.
1
// The release stage in the pipeline will run only if the test stage in the pipeline is successful
2
pipeline {
3
agent any
4
environment {
5
GH_TOKEN = credentials('some-id')
6
}
7
stages {
8
stage('Test') {
9
steps {
10
sh '''
11
# Configure your test steps here (checkout, npm install, tests etc)
12
npm install
13
npm test
14
'''
15
}
16
}
17
stage('Release') {
18
tools {
19
nodejs "node LTS"
20
}
21
steps {
22
sh '''
23
# Run optional required steps before releasing
24
npx semantic-release
25
'''
26
}
27
}
28
}
29
}
Copied!

package.json configuration for a Node job

A package.json is required only for local semantic-release installation.
1
{
2
"devDependencies": {
3
"semantic-release": "^18.0.0"
4
}
5
}
Copied!
Last modified 21d ago