Hi all,
My name is Yiming and I’m the contributor of Jenkinsfile Runner for GitHub Actions Project in GSoC-2022. As my project begins, I need the advice from the Jenkins community to make it more useful to the users.
The Jenkinsfile Runner for GitHub Actions Project in GSoC-2022 intends to build useful GitHub Actions for Jenkinsfile-runner and Plugin Installation Manager Tool. The users can utilize these GitHub Actions for their own workflow definitions. Therefore, running the Jenkins pipeline inside the GitHub Actions becomes available.
You can find our project plan, POC project and demo project here. The POC project and project plan doc are still in update so it can be different by day:
- Proof of concept about these Jenkins Actions: GitHub - Cr1t-GYM/jenkins-action-poc: This is the POC of Jenkinsfile Runner Action for GitHub Actions in GSoC 2022.
- A demo about applying these Jenkins Actions in a small SpringBoot project: GitHub - Cr1t-GYM/JekinsTest: Jenkinsfile Runner Action for GitHub Actions Test
- A demo action log for these Jenkins Actions: Java CI · Cr1t-GYM/JekinsTest@a16791f · GitHub
- Project Plan: GSoC2022_YimingGong_Project_Plan - Google Docs
- Original idea about Jenkins Actions: GitHub - jenkinsci/jenkinsfile-runner-github-actions: Jenkins single-shot pipeline execution in a GitHub Action POC
- Jenkinsfile-runner project: GitHub - jenkinsci/jenkinsfile-runner: A command line tool to run Jenkinsfile as a function
- An example workflow definition about how to use these actions: JekinsTest/ci.yml at cfd7c9def6459649ff96a8baa4ba4903fc381610 · Cr1t-GYM/JekinsTest · GitHub
We give three common cases about how to play with these actions:
- jenkins-plugin-installation-action + jenkinsfile-runner-action: Download all the dependencies and run the pipeline at the runtime.
- jfr-container-action: Use the jenkinsfile-runner vanilla distribution in the jenkins/jenkinsfile-runner repository. All the actions will be run in this container.
- jfr-static-image-action: Create a Docker action for Jenkins pipeline. This action has its own working environment. It won’t have an extra environment relationship with the on demand VM outside unless the user mounts other directories to the container (For example, checkout action if it exists). After the docker action ends, this container will be deleted.
Although we didn’t release these actions yet, you can reference these actions URI in your workflow definitions:
- Cr1t-GYM/jenkins-action-poc/jenkins-plugin-installation-action@master
- Cr1t-GYM/jenkins-action-poc/jenkinsfile-runner-action@master
- Cr1t-GYM/jenkins-action-poc/jfr-container-action@master
- Cr1t-GYM/jenkins-action-poc/jfr-static-image-action@master
We appreciate any feedback on this proposal along the lines of the following questions:
- Which actions do you prefer and why?
- Do the current actions meet your project needs?
- What kind of enhanced functionality do you look for in these actions?
- Etc.
Your opinions about our project are valuable. Thanks for your prompt attention!
Sincerely,
Yiming Gong
GSoC 2022 Contributor