Jenkins Mentoring - Short Term Contract, General Direction Question

Summary

I am looking to spend around $1000 of my own money (not my company) to fast-track getting some competency in Jenkins. What I need is direction and focus from a code mentor. Job length is probably 8-10ish hours spread out over 1-2 hour virtual meetings over several weeks. Topics would include
  • Overview of the challenges we are facing as it relates to Jenkins.
  • General direction as it relates to declarative or scripted pipelines.
  • What to focus on for learning a subset of Groovy for Jenkins.
  • General Jenkins/Groovy best practices.
  • Specific ideas as it relates to the task that I need to do on Jenkins. MATLAB, npm, Danger, Artifactory, etc.
  1. What direction would you have for me?
  2. Contact me if you think you would be a good match as a Code Mentor.

Details

I am new to Jenkins, but I am picking it up quickly. I have a background in controls and mechanical engineering, which involves a lot of MATLAB and Simulink code. I write code every day and have a base knowledge of software engineering and computer science.

At work, we build control software for off-highway vehicles. We use Github, npm as a package manager, Artifactory as a package/artifact registry, and Jenkins for testing code and publishing to Artifactory.

The tasks that most colleagues and myself need to do are

  • Run unit tests on a Pull Request or Push to Github
  • Publish to Artifactory from Jenkins. This is done for security, so credentials that publish to the package manager are centrally held.

Given that short task list, we have these Jenkins libraries that only do a few tasks but are thousands of lines of Groovy code. As I have begun to explore and ask questions, I have found these libraries are extensive because of a lack of technical knowledge while trying to make everyone happy by librarying everything, so it’s centrally controlled and updated (or so that is the premise). There aren’t full-time Jenkins developers that I am aware of. Instead, each business unit has a semi-responsible person who does something other than Jenkins and can kind of hack together some Groovy.

With my limited knowledge, I wrote a declarative pipeline that is 100 lines long with braces and lots of comments that does everything I need. It’s something I can maintain, troubleshoot, and debug. Because of a lack of common Jenkins knowledge, I will quickly become an expert in Jenkins in my area with no one to challenge my ignorance. I prefer to gather some knowledge and best practices therefore need to find a code mentor.

Thanks for reading. I look forward to your advice and future conversations.

Sincerely,
Jason