Jenkins Build Server
September 2024:
A new build server has been created on our TransIP AMS2 Project to replace to existing Jenkins WinServer 2012 server
Server:
Hosted : TransIP (formerly CloudVPS) Openstack AMS2 Project
OS : WinServer2022
Memory : 24GB
Storage : 480GB
Cores : 6
Configuration
SSL - Caddy
SSL for server domain is managed through Caddy running as a windows server
Caddyfile.txt configuration: 'C:\Caddy'
Jenkins
Jenkins 64Bit .exe installed in 'C:\Program Files\Jenkins'
Jenkins war & .Jenkins folders in 'C:\Users\Administrator\AppData\Local\Jenkins'
Job configs
config files for each job folder copied from previous server (need to organise backup of these config files)
Codesigning
Information for our Windows codesigning setup and instructions can be found here
Additionally - for windows 2012, the usbccid driver failed to run. By default, the driver loaded is UMDF2. On the older server (windows 2008) this was WUDF. To resolve, open device manager. Change the view to 'Devices by connection'
You can then double click on the 'Microsoft Usbccid Smartcard Reader (UMDF2)'. Change tab to 'Driver' and click 'Update driver'. Then 'Browse my computer for drivers' and 'Let me pick from a list of available drivers on my computer'. You can then choose the WUDF driver:
Credentials
- Navigate to manage > credentials > System > Global credentials (unrestricted) (i.e. [jenkins url]/manage/credentials/store/system/domain/_/)
- Add a credential with
- ID: d0079555-9161-4225-a4d5-4856cd9795e8
- Username: jenkinsSussol
- Password: [ see bitwarden ]
Follow the steps in https://wiki.sussol.net/doku.php/procedures:apps:jenkins_config?s[]=jenkins#adding_personal_access_token
Git
Install the windows git client, using the default settings Add webhooks in git for the repos msupply, open-msupply, ???
- create a new webhook
- Payload URL: https://jenkins-test.msupply.org/github-webhook/
- Content Type: application/json
- Secret: [BW: Jenkins GitHub]
- Enable SSL
- Let me select individual events
- Branch or tag creation
- Pushes (this one is on by default)
- Create a credential for github
- Manage Jenkins > Credentials > System : add a domain for api.github.com
- Add credential
- Kind: Secret text
- Scope: Global
- Secret: [BW: jenkins GitHub]
- ID: 23e95bb2-9f87-4998-8f1a-621fa95d5a78
- Description: Jenkins Sussol Access Token
- Navigate to Manage Jenkins > System, scroll down to GitHub
- Add GitHub Server
- Name: GitHub
- API URL: https://api.github.com
- Credentials: Jenkins Sussol Access Token
- Manage hooks: true
- Enable long paths
git config --system core.longpaths true
Open mSupply
A few additional installs are needed for open mSupply. Copy the c:\openssl folder and add the environment variable 'OPENSSL_DIR=C:\openssl' Install strawberry perl (https://strawberryperl.com/) to allow openssl to compile
Setup Factory
Install the full version. To do so, login to the indigo rose site using credentials in BW and download the current version. Note: using the trial version will cause the installer builds to hang, waiting for someone to click this:
Copy the custom themes from C:\ProgramData\IndigoRose\Setup Factory\9.0\Themes (windows 2022) or C:\Documents and Settings\All Users\Application Data\IndigoRose\Setup Factory\9.0\Themes (windows 2008)