Skip to content

Latest commit

 

History

History
93 lines (63 loc) · 4.36 KB

CONTRIBUTING.md

File metadata and controls

93 lines (63 loc) · 4.36 KB

Contribution guide

Never report security issues on GitHub or other public channels (Gitter/Twitter/etc.), follow the instruction from Jenkins Security to report it on Jenkins Jira

Reporting plugin compatibility issues

See COMPATIBILITY

Why should you contribute

You can contribute in many ways, and whatever you choose we're grateful! Source code contribution is the obvious one but we also need your feedback and if you don't really want to participate in the implementation directly you may still have great ideas about features we need (or should get rid of).

We have our vision for the plugin and we have an experience with maintaining Jenkins instances, but the plugin is not supposed to solve only our problems. Surely we haven't experienced all of them... That's why we want to hear from you.

Please use GitHub issues if you need to report a bug or request changes/improvements. Whenever you report a problem please provide information about:

  • Plugin version (Configuration as Code plugin as well any other plugin you suspect your problem to be related to)
  • Jenkins version
  • Operating system
  • Description!

Regarding source code contribution WoW

  • Create a GitHub issue for your feature/problem you want to solve
  • Implement solution on a branch in your fork
  • Make sure to include issue number in commit message, and make the message speak for itself
  • Once you're done create a pull request and ask at least one of the maintainers for review
    • Remember to title your pull request properly as it is used for release notes

Never push directly to this repository!

Newbie-friendly issues

If you are just starting with contribution to Jenkins, we have identified some newbie-friendly issues related to Configuration-as-Code. Here are some queries you can use to find such issues:

Somebody keeps fixing these issues all the time 😱. If the lists are empty, just ask in our Gitter Channel.

Project meetings

Meeting minutes and meeting recordings of Jenkins Configuration as Code office hours are available for reference. See our Gitter chat for online chat.

Run Locally

Prerequisites: Java, Maven & IntelliJ IDEA

  • Ensure Java 11 or 17 is available.

    java --version
  • Ensure Maven is included in the PATH environment variable.

    export PATH=$PATH:/path/to/apache-maven-3.8.6/bin

    IntelliJ IDEA

  • Open the root directory of this project in IntelliJ IDEA.

  • If you are opening the first time, wait patiently while project dependencies are being downloaded.

  • Verify that IntelliJ IDEA is not using bundled maven.

    • Click File -> Preferences... -> Build, Execution, Deployment -> Build Tools -> Maven.
    • Maven home directory: has /path/to/apache-maven-x.y.z value, not Bundled (Maven 3).
  • Use the start jenkins run configuration stored in the .run folder of this project, (if you wish to change it then duplicate it and maintain your own local copy)

  • Open http://localhost:8085/jenkins/configuration-as-code/ to test the plugin locally.

CLI

  • Go into the plugin child directory under the root directory of this project.
  • Use the below commands.
export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
export PATH=$PATH:/path/to/apache-maven-3.8.6/bin
mvn hpi:run
...
INFO: Jenkins is fully up and running