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.

Oleg Nenashev

April 02, 2021
Tweet

More Decks by Oleg Nenashev

Other Decks in Programming

Transcript

  1. Contributing to
    Jenkins
    1

    View Slide

  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

    View Slide

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

    View Slide

  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:

    View Slide

  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:

    View Slide

  6. Introduction
    6

    View Slide

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

    View Slide

  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

    View Slide

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

    View Slide

  10. 10

    View Slide

  11. Jenkins helps you!
    Demonstration
    11

    View Slide

  12. Jenkins under the hood
    12

    View Slide

  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

    View Slide

  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

    View Slide

  15. More info
    Contributing to Jenkins It is all about you!
    15

    View Slide

  16. Contributing to Jenkins
    16

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide

  20. More info
    Contributing to Jenkins It is all about you!
    20

    View Slide

  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/

    View Slide

  22. Jenkins in
    Google Summer of Code
    22

    View Slide

  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

    View Slide

  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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  33. Summary
    33

    View Slide

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

    View Slide

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

    View Slide

  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

    View Slide

  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

    View Slide

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

    View Slide