Docker-based Jenkins quickstart examples

Project goal: Provide examples, sample code, and documentation on how to start a local Jenkins instance.

Skills to study/improve: Java, YAML, Command line tools, Package management tool theory

Details

Background

We already have a section dedicated to docker in the documentation, but it’s too difficult to use for beginners, and even too complex to begin with. We need to provide a simple way to get started with Jenkins and Docker.

We could have a set of docker-compose files representing various types of Jenkins instances (simple Docker, Kubernetes, …).

These examples would be described in the documentation, and would also (and that’s the main point) be tested every week thanks to ci.jenkins.io so that we know they are still working.

As the documentation is using asciidoc we could use the Include Content by URI feature to have an up-to-date documentation when it comes to code snippets and at the same time, have ci.jenkins.io test these same code snippets.

Of course, these snippets could also be run thanks to GitPod.

Quick Start

  • Install Docker Compose

  • Clone a repo that already uses docker-compose for Jenkins.

  • Run docker-compose up and wait for the Jenkins instance to be up and running.

  • Study the docker-compose.yml file to understand what it does.

Project Difficulty Level

Beginner to Intermediate

Project Size

175 hours

Expected outcomes

  • A set of docker-compose files that can be used to get started with Jenkins and Docker or Kubernetes on Windows, Linux, macOs, Vagrant and GitPod.

  • The documentation that describes how to use these docker-compose files.

  • A ci.jenkins.io job that tests these docker-compose files every week.

Potential Mentors

Project Links

Organization Links

> Go back to other GSoC 2023 project ideas