Jenkins CI
Environment variables
Section titled “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
Section titled “Node.js project configuration”Jenkinsfile (Declarative Pipeline) configuration for a Node.js job
Section titled “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 successfulpipeline { 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
Section titled “package.json configuration for a Node job”A package.json is required only for local semantic-release installation.
{ "devDependencies": { "semantic-release": "^18.0.0" }}