Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Simple Maven Build Pipeline

To build a Mavenised project on Jenkins is quite simple;

  1. In Jenkins, click the 'New Item' link in the left hand navigation
  2. Enter the project name and at the bottom enter 'keycloak-client' in the Copy from text box.
  3. Update project description
  4. Change the Git Repository URL to match your repository.
  5. In the Post Steps > Trigger/call builds on other projects, check to make sure that the Predefined parameters match the Maven groupId, artifactId and version (you can use environment variables here if you want to).
  6. Save and run the build, this should create a docker container for your project.
  7. Create a second job to run your new docker image using docker-compose. Go to 'New Item' from step 1 and copy 'keycloak-dev-deploy'
  8. Update the description for the new job
  9. Change the Build Trigger to listen to your first new job.
  10. Change the STACK environment variable in the Execute Shell section to match the name of your stack.
  11. Save and run the job and your containers should start on the dev platform.

Modify Content Security Policy

Ref: https://content-security-policy.com/  and  https://wiki.jenkins-ci.org/display/JENKINS/Configuring+Content+Security+Policy

Jenkins URL (Azure VM) : https://build-hee.transformcloud.net/jenkins/script

Code Block
System.setProperty(hudson.model.DirectoryBrowserSupport.class.getName() + ".CSP", "script-src 'unsafe-inline' 'self';")
System.setProperty("jenkins.model.DirectoryBrowserSupport.CSP", "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline';")




To persist the security changes the following command can be executed from the command line :

Code Block
$ java -Dhudson.model.DirectoryBrowserSupport.CSP="sandbox allow-scripts; default-src 'self'; script-src * 'unsafe-eval'; img-src *; style-src * 'unsafe-inline'; font-src *" -jar jenkins.war

NOTE : The web browser refresh does not always reload the page with the new relaxed rules due to caching.  To ensure this doesn't happen it's advised to restart your browser.

If this needs to be reset to default (more secure) the run the following command : 

Code Block
System.clearProperty("hudson.model.DirectoryBrowserSupport.CSP")