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

NOTE: This idea is published as a draft under active discussion, but it is confirmed in principle. It is FINE to apply to it. The scope and the suggested implementation may change significantly before the final version is published. Sections like quickstart guide and newbie-friendly issues may be also missing. As a contributor, you are welcome to request additional information and to join the discussions using channels linked on this page.

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