Slide 1

Slide 1 text

Contributing to Jenkins 1

Slide 2

Slide 2 text

Presenters Oleg Nenashev - Jenkins Governance Board member, GSoC org admin, a long-time Jenkins user and advocate Mark Waite - Jenkins documentation officer, helps with project infrastructure and maintains the Git plugin oleg-nenashev MarkEWaite ShivayLamba @oleg_nenashev @MarkEWaite @HowDevelop Shivay Lamba - Tensorflow contributor, Jenkins mentor in GSoC 2020 /// Other contributors 2

Slide 3

Slide 3 text

Today’s agenda ● Introduction to CDF and Jenkins ● Tech stack used ● Contributing to the community ● Jenkins in Google Summer of Code ● Q&A 3

Slide 4

Slide 4 text

Continuous Delivery Foundation (CDF) CD Foundation is an open-source community improving the world's ability to deliver software with security and speed https://cd.foundation/ 4

Slide 5

Slide 5 text

Jenkins in CDF ● Jenkins is a part of the CDF ● Joined in 2019 as a founding project ● Graduated in 2020 ● We participate in GSoC under the CDF umbrella 5

Slide 6

Slide 6 text

Contributing to the CDF ● Technical Oversight Committee ● Outreach Committee ● SIGs ○ MLOps, Security,Events ○ Interoperability, Best Practices ● Ambassador program ● Landscape 6

Slide 7

Slide 7 text

Who is Mr. Jenkins? • Automation server/framework • Popular CI/CD tool • Open-source • Big community • More than 1700 plugins

Slide 8

Slide 8 text

Jenkins Is An Automation Tool Over 1700 Jenkins Plugins Code & Commit Integration with hundreds of tools Build & Config Orchestration of the Tool-chains Scan & Test Release End-to-End CI/CD Pipelines Deploy

Slide 9

Slide 9 text

Typical Jenkins Pipeline Manual Timers SCM events Get sources Prepare the environment SCMs Binary repositories Build artifacts “Build” “Analyze” “Test” Tool-chains SW Dev. Tools EDA tools ... Publish reports Deploy artifacts Notify stakeholders 9

Slide 10

Slide 10 text

10

Slide 11

Slide 11 text

Modern Jenkins • • • • • Pipeline-as-Code Configuration-as-Code New plugins and integrations Modern packaging Distributions for public clouds Modern Jenkins

Slide 12

Slide 12 text

Jenkins helps you! Demonstration 12

Slide 13

Slide 13 text

Jenkins under the hood 13

Slide 14

Slide 14 text

Repositories ● Main organizations: ○ https://github.com/jenkinsci ○ https://github.com/jenkins-infra/ ● Key repos: ○ https://github.com/jenkinsci/jenkins ○ https://github.com/jenkinsci/docker ○ https://github.com/jenkins-infra/jenkins.io 14

Slide 15

Slide 15 text

Tech Stack ● 2300+ repositories, many Technology stacks… ● Top languages: Java, JavaScript, Groovy, Golang, Ruby, scripting languages ● Platforms: Docker, Kubernetes, Linux, Windows, macOS ● Documentation: Markdown, Asciidoc ● Many test tools and frameworks 15

Slide 16

Slide 16 text

More info Contributing to Jenkins It is all about you! 16

Slide 17

Slide 17 text

Contributing to Jenkins 17

Slide 18

Slide 18 text

https://www.jenkins.io/participate Jenkins needs you! 18

Slide 19

Slide 19 text

Any pull request counts! ● Code ● Documentation ● Blogposts ● Design and Artwork Jenkins needs you! 19

Slide 20

Slide 20 text

Getting started: Issue queries 1. Go to https://www.jenkins.io/participate 2. Select type of contribution, read the guide 3. Find an issue to work on a. Newbie-friendly issues in Jenkins JIRA b. Good first issues on GitHub 4. Contact us if any assistance is needed a. https://gitter.im/jenkinsci/newcomer-contributors https://jenkins.io/events/hacktoberfest/#issue-queries 20

Slide 21

Slide 21 text

More info Contributing to Jenkins It is all about you! 21

Slide 22

Slide 22 text

Jenkins - 2021 Outreach Programs • Google Summer of Code • Google Season of Docs • Likely: LFX Mentorship (fka CommunityBridge) • Online Hackathons • Hacktoberfest 2021 https://www.jenkins.io/sigs/advocacy-and-outreach/outreach-programs/ 22

Slide 23

Slide 23 text

Jenkins in Google Summer of Code 23

Slide 24

Slide 24 text

Jenkins in GSoC 2020 ● 2021 - 5th year in GSoC ● 10 project ideas ● Main page: https://jenkins.io/projects/gsoc/ ● This year - under the umbrella of the Continuous Delivery Foundation 24

Slide 25

Slide 25 text

Our goals ● Best possible GSoC experience for students and mentors ● Quality, not Quantity ● Project types: ○ Key Jenkins initiatives with high community value ○ Domain-specific ideas: Cloud Native technologies ○ Cross-organization projects: Tekton integrations, Cloud Events 25

Slide 26

Slide 26 text

What do we offer? ● Strong community bonding and knowledge transfers ● Experienced mentors ● Online demos and meetups ● Travel grants for successful projects 26

Slide 27

Slide 27 text

Thanks to GSoC 2020 students! Kezhi Xiong Buddhika Chathuranga Rishabh Budhouliya Sumit Sarin Loghi Perinpanayagam Zixuan Liu Sladyn Nunes

Slide 28

Slide 28 text

GSoC 2019 Highlights https://jenkins.io/blog/2020/01/29/gsoc-report/ 28

Slide 29

Slide 29 text

2021 project ideas https://www.jenkins.io/projects/gsoc/2021/project-ideas/ 29

Slide 30

Slide 30 text

Git Credentials Binding for sh, bat, and powershell ● #3 most voted feature request (JENKINS-28335) ● Authenticated git commands in steps ● Allow advanced operations ○ ○ ○ ○ Push a commit or a tag Clone with advanced options Create a remote branch Delete a remote tag or branch ● Resolves multiple enhancement requests ● See the project idea for details 30

Slide 31

Slide 31 text

Pipeline Step Doc Generator Improvements ● Pipeline documentation improvements ○ Extend the documentation generator ○ Extract documentation from released plugins ● Layout improvements ○ Improve usability ● Content improvements ○ Add standard content to better guide users ● See the project idea for details 31

Slide 32

Slide 32 text

FAQ: How to apply? 1. Explore the project ideas 2. Reach out to the community 3. Discuss your project proposal draft a. https://www.jenkins.io/projects/gsoc/students 4. Apply to the CD.Foundation organization

Slide 33

Slide 33 text

Our Channels ● Mailing list ○ ● Gitter ○ ● ● https://groups.google.com/forum/#!forum/jenkinsci-gsoc-all-public https://gitter.im/jenkinsci/gsoc-sig Regular Office Hours on Wednesdays ○ https://jenkins.io/projects/gsoc/#office-hours ○ Recordings: https://www.youtube.com/playlist?list=PLN7ajX_VdyaO1f6bvkcSzW4PdWKkLktRG Project-specific channels

Slide 34

Slide 34 text

Summary 34

Slide 35

Slide 35 text

Useful links ● https://jenkins.io/participate ● https://www.jenkins.io/projects/gsoc/ ● https://gitter.im/jenkinsci/newcomer-contributors 35

Slide 36

Slide 36 text

Jenkins Online Meetup Anything about Jenkins ○ https://www.meetup.com/Jenkins-online-meetup ○ https://jenkins.io/events/online-meetup/ “By contributors for users” ○ Show and tell ○ Live demos! ○ Everyone can participate Sponsors:

Slide 37

Slide 37 text

QUESTIONS? Contacts: E-mail: [email protected] GitHub: oleg-nenashev Twitter: @oleg_nenashev