Folder containing all accessory files and folders necessary to compile and deploy ESS version of CS-Studio.
This repository contains the Composite P2 Repository files as described in Control System Studio Guide, needed to manually build the product using Maven.
This file contains the environment variables to be set and included into the ~/.profile file.
This folder contains various files to be used by Maven during the build.
This folder contains the file used by Jenkins to run the various pipelines.
css-pipeline is the jenkinsfile that builds and tests the CS-Studio -community, ess -development and -production
css-devenv-integration-pipeline is the jenkinsfile that creates a virtual machine and launches the lates cs-studio production version. It needs the testcs.json file to specify how the virtual machine should be created. The folder scripts contains the scripts that will be ran on the virtual machine specified by testcs.json.
- Have Jenkins 2.x with pipeline and version control plugins installed.
- Press “New Item” [top left].
- Choose name and the item type “Pipeline”.
- In the menu furthest down called “pipeline” change the definition to “Pipeline script from SCM”.
- Paste the url to the repo containing the Jenkinsfile and the path to it from within the repo (this repo).
For reusability, the script is reliant on parameters from the user. These parameters are to be inputted through configuring jenkins and require the plug in "environment injector". The option Prepare an environment for the run then gets available for the user. Variables can then be defined in the textfield Properties Content.
The css-devenv-integration-pipeline is intended to be ran after the production version has been built by css-pipeline. In order to make a pipeline start after another you need to make the second pipeline listen to the previous job as nan upstream. Do this by adding the configuration property "Build after other projects are built" under "Build Triggers", there you can set any type of project as upstream.
csstudioRepo=https://github.com/ControlSystemStudio
displayBuilderRepo=https://github.com/kasemir/org.csstudio.display.builder
diirtRepo=https://github.com/diirt/diirt
repoBranch=master
buildFolder=css-ce
[email protected]
useArtifactory=false
csstudioRepo=https://github.com/ESSICS
displayBuilderRepo=https://github.com/ESSICS/org.csstudio.display.builder
diirtRepo=https://github.com/ESSICS/diirt
repoBranch=master
buildFolder=ess-css-development
[email protected]
useArtifactory=true
artifactoryServerID=<replace>
artifactoryFolder=development
csstudioRepo=https://github.com/ESSICS
displayBuilderRepo=https://github.com/ESSICS/org.csstudio.display.builder
diirtRepo=https://github.com/ESSICS/diirt
repoBranch=production
buildFolder=ess-css-production
[email protected]
useArtifactory=true
artifactoryServerID=<replace>
artifactoryFolder=production
- Download slack notification plugin for jenkins.
- Go to the slack url .slack.com/apps/ and find jenkins integration.
- Press "add configuration" for the channel you want to add the integration to.
- Copy and add the Team domain, token and channel name for the pipeline script.
Currently Slack is not used to notify user's abount the pipeline.
slackSend message: "Build Started", token: 'AKrq2kTrwtrFjepxe6OFC5Lu', channel: "<theChannel>", teamDomain: "teamName"
Supported steps (predefined methods) for the jenkins file
Syntax reference, includes almost everything needed
- Use triple ' (''') for a literal string.
- Substitution (using $variable) requires explicit string sign ("").
- The "steps" are ran on the slave, other is ran on the master.
- Variables declared in the "environment"-block are accessible from the slave as exported variables.