Simple Maven Build Pipeline
To build a Mavenised project on Jenkins is quite simple;
- In Jenkins, click the 'New Item' link in the left hand navigation
- Enter the project name and at the bottom enter 'keycloak-client' in the Copy from text box.
- Update project description
- Change the Git Repository URL to match your repository.
- 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).
- Save and run the build, this should create a docker container for your project.
- 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'
- Update the description for the new job
- Change the Build Trigger to listen to your first new job.
- Change the STACK environment variable in the Execute Shell section to match the name of your stack.
- 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
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 :
$ 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 :
System.clearProperty("hudson.model.DirectoryBrowserSupport.CSP")
Add Comment