Versions Compared

Key

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

Table of Contents

Simple Maven Build Pipeline

...

  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.

Slack Notifications

Configuration

  1. Go to 'Post-build Actions' and click 'Add post-build action'
  2. Select 'Slack Notifications' from the pop-up list
  3. Click on the 'Advanced' button to view all available options and settings.
  4. Check "Notify Failure" and "Notify Repeated Failure"
  5. Set the channel you want to notify, 'jenkins_azure' can be used for testing.
  6. Open the channel in Slack then click 'Test Connection' in Jenkins. You should see a message in Slack along the lines of; 

    Code Block
    Slack/Jenkins plugin: you're all set on
    https://build.tis.nhs.uk/jenkins/


  7. Click 'Save' to persist the changes.

Notes

  1. Note that you don't need to supply additional credentials, they are configured in the Jenkins settings for the server.
  2. If you don't add the "Notify Repeated Failure" event then Jenkins will only alert on the first failure and will not send any notifications until the job has been fixed.

Modify Content Security Policy

...

Jenkins URL (Azure VM) : https://build-hee.tis.transformcloudnhs.netuk/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';")



...