Jenkins Configuration

Installed Plugins

Add Github Organization

Go to new Item > Github Organization and type in a name. Afterwards fill in all the required fields as shown below. Be aware not all fields are mentioned only the not obvious ones.

Setup Github Server

Go to Manage Jenkins > Configure Systema and add the required Github Server. As Credentials put in a generated access token from a Github User which is an Admin. This is necessary in order to be able to manage the webhooks. If you create the access token make sure the following is selected and save the access token as secret text.

Screenshot

Configuration Oauth Login and Access Control

Go to manage Jenkins > Configure Global Security and activate the ‘Global GitHub OAuth’ Settings Put in your values and credentials as seen in the screenshot. Do not forget to set an Admin!

Screenshot

more Details here

Project Settings

In your Project go to Configure and the following settings for branch and pull request Detection. Make sure you select use commit author in changelog.

Screenshot

Pipeline Library for a Project

If you want to use a shared Library for your Project go in your Project to configure and set the Pipeline Library Settings.

Screenshot

To use is simply put the library in your jenkinsfile. The Skip Code Quality Step is optional. All other fields are mandatory.

@Library('SharedLibrary') _
buildPipeline {
    	sshConfigName = 'updatesites.web.mdsd.tools'
    	absoluteWebserverDir = '/home/deploy/writable'
    	webserverDir = 'simulizar'
	updateSiteLocation = 'releng/org.palladiosimulator.simulizar.updatesite/target/repository'
        skipCodeQuality = 'false'
}

more information here

Email Notification

In order to send build notifications, you have to configure a SMTP server to send mails. We use a free mail server hosted ad Zoho. In order to use it, you have to specify the following information with EMAIL and PASSWORD being placeholders:

Script Approval

To get the Email Adress of the Jenkins Users in the Pipeline the following Scripts need to be approved in Manage Jenkins > In-process Script Approval: