Run Jenkinsfiles inside GitHub Actions using a single-shot Jenkins master in a Docker container.
Jenkinsfile Runner GitHub Actions is a proof-of-concept tool that allows developers to execute Jenkins pipeline scripts (Jenkinsfiles) within GitHub Actions workflows. It solves the problem of migrating or reusing existing Jenkins automation in GitHub's native CI/CD environment by running a transient Jenkins master inside a Docker container. This enables teams to leverage their investment in Jenkins pipeline logic while adopting GitHub Actions.
DevOps engineers and development teams who have existing Jenkins pipelines and want to integrate them into GitHub Actions without maintaining a separate Jenkins server. It's also for those exploring hybrid CI/CD strategies.
Developers choose this project because it provides a seamless bridge between Jenkins and GitHub Actions, allowing reuse of complex Jenkinsfiles without infrastructure overhead. Its containerized, single-shot approach ensures isolation and reproducibility while leveraging GitHub's ecosystem.
Jenkins single-shot pipeline execution in a GitHub Action POC
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables direct execution of existing Groovy-based Jenkinsfiles in GitHub Actions, avoiding costly rewrites and leveraging invested pipeline logic.
Uses single-shot Jenkins masters that start, run the pipeline, and exit in Docker containers, minimizing resource overhead and ensuring isolation.
Automatically maps the triggering commit to /github/workspace and reports test results back to pull requests via GitHub Actions' built-in status reporting.
Provides Docker commands for local execution and customization of Jenkins/plugin versions, aiding in troubleshooting and development.
Admitted as a POC in the README, it lacks automation for container creation and has stability issues, making it unsuitable for mission-critical workflows.
Requires copying files from /github/workspace in the Jenkinsfile, an inefficient and error-prone step highlighted as a TODO in the README.
Uses prepackaged versions like Jenkins 2.138.2 and Maven 3.5.2 without easy updates, potentially missing security patches or new features.
Setting environmental variables for Docker runs is manual and complex, as shown in the troubleshooting section, increasing setup time and risk.