1. Home
  2. /
  3. Use cases
  4. /
  5. Connect a Jenkins CI pipeline to SignServer

Connect a Jenkins CI pipeline to SignServer

SignServer and Jenkins integration automates the code signing process within the CI/CD pipeline, eliminating the need for manual intervention.

hero-sub-2-white
Jenkins banner

Automated Code Signing with Jenkins and SignServer

Jenkins is an open-source platform automating various stages of the software development lifecycle, including building, testing, and deploying applications. 

With the integration between Jenkins and SignServer, each code build and deployment through Jenkins can be automatically signed by SignServer.

How to get started

Consider a typical Java project as an example. When there are code changes in the Git repository, the Jenkins Pipeline automatically initiates an integrated workflow. It starts by building and testing the project, then proceeds to digitally sign the resulting artifact using standard Java code .jar file signing. 

In this example, the signing operation is done remotely by a SignServer instance that securely generates signatures and manages the code signing keys in an HSM. Using SignServer, signing keys aren't stored on laptops or anywhere else. In addition, SignServer makes sure every signing process generates audit logs, so you know what's going on.

The integration includes the following:

  • Using the SignServer JArchive CMS Signer for JAR signing.
  • Using a Jenkinsfile for Pipeline configuration.
  • A simple Java/Maven project in a Git repository.
  • Running a Jenkins Pipeline, building and delivering the app. Once the process is completed, the script output shows the call to the SignServer SignClient and displays that the file is successfully signed using SignServer.
  • Using Client Certificate Authentication to authorize Jenkins to sign files in SignServer.

Prerequisites 

The integration requires these servers to be available: 

  • EJBCA CA
  • SignServer Code Signing
  • Jenkins CI

Network traffic between the instances must be allowed. Our example is running in AWS and the most straightforward way is to allow all local virtual private cloud (VPC) traffic to the nodes, see SignServer Cloud AWS Launch Guide.

 

Documentation

Tutorials/documentation

Documentation

Check out the supplementary documentation.

Docker Hub

Get your hands on the SignServer Docker container by downloading it now from Docker Hub.

Discussions

Join our discussions to ask questions and share ideas.

Related open-source projects

This website uses cookies

Cookies consist of small text files. They contain data that is stored on your device. To enable us to place certain types of cookies we need to obtain your consent. At PrimeKey Solutions AB, corp. ID no. 556628-3064, we use the following kinds of cookies. To read more about which cookies we use and storage times, click here to access our cookies policy.

Manage your cookie-settings

Necessary cookies

Check to consent to the use of Necessary cookies
Necessary cookies are cookies that must be placed for basic functions to work on the website. Basic functions are, for example, cookies which are needed so that you can use menus on the website and navigate on the site.

Functional cookies

Check to consent to the use of Functional cookies
Functional cookies need to be placed on the website in order for it to perform as you would expect. For example, so that it recognizes which language you prefer, whether or not you are logged in, to keep the website secure, remember login details or to be able to sort products on the website according to your preferences.

Cookies for statistics

Check to consent to the use of Cookies for statistics
For us to measure your interactions with the website, we place cookies in order to keep statistics. These cookies anonymize personal data.

Cookies for ad-tracking

Check to consent to the use of Cookies for ad-tracking
To enable us to offer better service and experience, we place cookies so that we can provide relevant advertising. Another aim of this processing is to enable us to promote products or services, provide customized offers or provide recommendations based on what you have purchased in the past.

Ad measurement user cookies

Check to consent to the use of Ad measurement user cookies
In order to show relevant ads we place cookies to tailor ads for you

Personalized ads cookies

Check to consent to the use of Personalized ads cookies
To show relevant and personal ads we place cookies to provide unique offers that are tailored to your user data