In this scenario you'll learn how to configure Jenkins to use Groovy-based Pipelines for building software from Github.
The scenario is designed to demostrate how you can use Groovy Pipelines within a CI/CD pipeline to download software code from GitHub, perform unit tests and display a historical test result report.
We are using a Docker host environment and we will show, how to run Jenkins in a Docker container. The steps guide you to installing the required plugins, creating a build and viewing the test report results.
This scenario has started a Jenkins Docker container to configure and run Jenkins Pipelines. With an example project that is throwing random unit test failures, we have demonstrated, how to create and display a test report trend graph.
Coming soon: Learn how to automatically trigger a Pipeline workflow with our triggered pipeline scenario.
Coming soon: Jenkins Triggered Pipelines
We will prepare an environment with a Jenkins server running as a Docker Container.
Note: steps 1 to 3 can be skipped, if you want to head directly to the pipeline section. We will provide a pre-configured Jenkins image in step 4.
First we start the container in detached mode with a tail to a log file we will create and use later:
docker run -d -u root --rm --name jenkins \
-p 8080:8080 -p 50000:50000 \
--entrypoint bash \
-c "tail -F /jenkins.log"
With the next command, we clone a Jenkins Home directory into the container, before we start the Jenkins application. The Jenkins Home directory has been prepared to allow us using Jenkins without any login:
docker exec -d jenkins \
bash -c 'git clone https://github.com/oveits/jenkins_home_alpine \
&& export JENKINS_HOME=$(pwd)/jenkins_home_alpine \
&& java -jar /usr/share/jenkins/jenkins.war 2>&1 1>/jenkins.log &'
After a minute or so, we should see that the jenkins.war is started:
docker exec jenkins ps -ef
You can load the Jenkins' dashboard via the following URL https://[[HOST_SUBDOMAIN]]-8080-[[KATACODA_HOST]].environments.katacoda.com/ or by clicking the dashboard tab on the right (note: sometimes, you need to wait a few seconds and press "display port" at this point).
In the next steps, you'll use the dashboard to configure the plugins and start building Docker Images.