# devops-exercise-jenkins-setup **Repository Path**: mirrors_knime/devops-exercise-jenkins-setup ## Basic Information - **Project Name**: devops-exercise-jenkins-setup - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-19 - **Last Updated**: 2026-02-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Take Home Assignment To demonstrate your knowledge and trouble shooting skills. ## Prerequisites You need to have docker and the docker compose plugin installed on your machine. ## General guidelines - Use Configuration as Code as much as possible to configure everything in Jenkins. - Document all manual steps that are required, try to keep them to a minimum. - You can use whatever Jenkins plugins you want, make sure to install them during the container build and configure them using Configuration as Code. ## Challenges ### 0. Basic Setup 0. Clone this repository 1. Run `docker compose build` to build the customized Jenkins controller image. 2. Run `docker compose up` to start the Jenkins controller and the Jenkins agent. 3. Connect to the Jenkins controller at `http://localhost:8080` and set up the admin account. ### 1. The Jenkins controller setup - For some reason the controller image is not building, find out why and fix it. - Get the agent to connect to the controller successfully. ### 2. The horror Job A motivated but untalented developer has created a repository with a Maven project, and even added a Jenkinsfile to it. However nothing works! Help them get unstuck by fixing the project. The repository is located at: #### Tasks for the horror Job - Fix the pom.xml so that the project compiles successfully and the tests are run. - Fix the Jenkinsfile so that it compiles and tests the application, publishing the test results in Jenkins. - In case of failing tests, the build should be marked as unstable, not as failed! - We want to run the pipeline for every branch, and also have dedicated pull request builds. - Extend the build so that test coverage is calculated and the results are published in Jenkins - Archive the created build artifacts, so that they can be used later ### 3. Job composition Create a second pipeline job that does the following: - Is triggered when the first job finished successfully (not necessarily stable) - Retrieves the archived artifact from the previous job, and - Runs it (the artifact is a runnable Java application) ### Submission Create private forks of this and the `devops-exercise-job-repo` repository. Push your changes there, once you are done, invite your recruiting contact as a colaborator.