Jenkinsfile Runner Action for GitHub Actions

Goal: Implement a (near) feature-complete version of Jenkinsfile Runner Action for GitHub Actions

Status: Selected

Team

Details

Abstract

Jenkinsfile Runner Action for GitHub Actions provides the customized containerized environment for users to run the Jenkins pipeline inside GitHub Actions. This feature is based on the Jenkinsfile Runner, which is a command line tool for the Jenkins pipeline execution engine. The user can define the Jenkins pipeline environment by extending several Vanilla images and configuring the Jenkins Configuration-as-Code plugin.

Rationale

The Jenkins pipeline environment includes the Jenkins core war package and the Jenkinsfile Runner. All the dependencies are incorporated into the containers. As the GitHub Actions support using the predefined containers and building custom images, the containers - which include the Jenkins runtime - are able to start inside the GitHub Actions.

Implementation

Jenkinsfile Runner Action for GitHub Actions will provide several vanilla images including necessary dependencies to run the Jenkins pipeline. Users can extend these images to set up their customized environment. What’s more, the user can install the plugins, which is enabled by Plugin Installation Manager Tool, and then configure Jenkins, which is enabled by Configuration-as-Code plugin. Jenkinsfile Runner Action also helps users to generate the configuration files which are prerequisites for launching the Jenkins pipeline inside the GitHub Actions. The user only need to push these configuration files as well as their own codes to the repositories for the setup to work.

Office hours

  • (General) Official weekly Jenkins office hours: Thursdays 3pm to 3:30pm UTC

  • (Project-based) Weekly project-specific office hours: Mondays 12pm to 12:30pm UTC

Links