Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Contributing to Jenkins and Google Summer of Code

Contributing to Jenkins and Google Summer of Code

Jenkins is a very diverse project with many opportunities to contribute and many technology stacks. Some examples: Java, Javascript, Golang, Groovy, Docker, Kubernetes. And it is not only about code, we are continuously looking for non-code contributions: documentation, testing, design, and spreading the word. We always welcome experienced and newcomer contributors to join the community.

At this meetup we talk about contributing to Jenkins and how to get started. We will also talk about various outreach projects and specifically about Google Summer of Code which is starting soon. There is also a Q&A session where we answer questions from participants.

568e3391c8b528f2b255443e4cca27ca?s=128

Oleg Nenashev

April 02, 2021
Tweet

Transcript

  1. Contributing to Jenkins 1

  2. Presenters 2 @oleg_nenashev oleg-nenashev @MarkEWaite MarkEWaite 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 Shivay Lamba - Tensorflow contributor, Jenkins mentor in GSoC 2020 /// Other contributors @HowDevelop ShivayLamba
  3. Today’s agenda • Introduction to Jenkins • Tech stack used

    • Contributing to the community • Jenkins in Google Summer of Code • Q&A 3
  4. 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:
  5. Questions and Answers During the meetup • Zoom Q&A •

    Open discussion after the meetup After the meetup • https://gitter.im/jenkinsci/newcomer-contributors Sponsors:
  6. Introduction 6

  7. Who is Mr. Jenkins? • Automation server/framework • Popular CI/CD

    tool • Open-source • Big community • More than 1700 plugins
  8. Jenkins Is An Automation Tool Over 1700 Jenkins Plugins Integration

    with hundreds of tools Orchestration of the Tool-chains End-to-End CI/CD Pipelines Deploy Release Scan & Test Code & Commit Build & Config
  9. Typical Jenkins Pipeline Manual Timers SCM events Notify stakeholders 9

    Get sources SCMs Binary repositories Build artifacts Prepare the environment “Build” “Test” “Analyze” Publish reports Deploy artifacts Tool-chains SW Dev. Tools EDA tools ...
  10. 10

  11. Jenkins helps you! Demonstration 11

  12. Jenkins under the hood 12

  13. Repositories 13 • 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. Tech Stack 14 • 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. More info Contributing to Jenkins It is all about you!

    15
  16. Contributing to Jenkins 16

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

  18. Any pull request counts! 18 • Code • Documentation •

    Blogposts • Design and Artwork Jenkins needs you!
  19. 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 19 https://jenkins.io/events/hacktoberfest/#issue-queries
  20. More info Contributing to Jenkins It is all about you!

    20
  21. Jenkins - 2021 Outreach Programs • Google Summer of Code

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

  23. 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 23
  24. 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 24
  25. What do we offer? • Strong community bonding and knowledge

    transfers • Experienced mentors • Online demos and meetups • Travel grants for successful projects 25
  26. Thanks to GSoC 2020 students! Kezhi Xiong Rishabh Budhouliya Loghi

    Perinpanayagam Buddhika Chathuranga Sumit Sarin Zixuan Liu Sladyn Nunes
  27. GSoC 2019 Highlights https://jenkins.io/blog/2020/01/29/gsoc-report/ 27

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

  29. 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 29
  30. • 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 Pipeline Step Doc Generator Improvements 30
  31. 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
  32. Our Channels • Mailing list ◦ https://groups.google.com/forum/#!forum/jenkinsci-gsoc-all-public • Gitter ◦

    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
  33. Summary 33

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

  35. Contacts: E-mail: o.v.nenashev@gmail.com GitHub: oleg-nenashev Twitter: @oleg_nenashev QUESTIONS?

  36. Continuous Delivery Foundation (CDF) 36 https://cd.foundation/ CD Foundation is an

    open-source community improving the world's ability to deliver software with security and speed
  37. 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 37
  38. Contributing to CDF • Technical Oversight Committee • Outreach Committee

    • SIGs ◦ MLOps, Security,Events ◦ Interoperability, Best Practices • Ambassador program • Landscape 38