Hudson-ci/Planning/Hudson Book Ideas

From Eclipsepedia

Jump to: navigation, search
  • How to use prominent 3. party plugins
    • Join plugin
    • Parameterized Trigger Plugin
    • Promoted Builds plugin
    • Copy Artifact plugin
    • Role Strategy Plugin + Extended Read Permission Plugin (for a better security setup)
  • Use of slaves
  • Maybe some case study or description of common setups like
    • Using 2 jobs for build and release with maven3
    • Use of diamond shape jobs structure to create logical steps in pipelines
    • Different levels of isolation for local maven repos, per node, per executor, per project, per job?
    • Gerrit workflow?


I (Henrik) think we need much better information on how plugins can be developed. However I don't think it should be written as a chapter in the Hudson book, firstly becasue the audience is different so it makes sense to have an user manual and a (plugin) developer manual, secondly I think there will be enough material for a separate book

Below is a rough draft of a topic list for such a book

  • Introduction
    • Quick overview of the plugin idea
    • Description of the two plugin methods (old hudson/jenkins and JSR-330) and when to use each
    • Terminology within Hudson code.
  • My first plugin. Much of this is allready written in the new "Developing your first Hudson Plugin" page, but should be extended to cover the required pom.xml elements, plus hosting and releasing the plugin.
  • Common tasks / How do i...?
    • ... Create global configuration for my plugin
    • ... Create job specific configuration for my plugin
    • ... handle persistence, for builds, jobs, global config, other places
    • ... draw a graph?
    • ... draw a timeline
    • ... interact with other plugins.
    • ... handle security
    • ... create my own extension points
    • ... Access global configuration (e.g. read the mail server information, access a setting document)
    • ... make sure my plugin work across different slaves
    • ... mark hudson/jenksins compatibility
    • ... correctly handle errors
    • ... perform logging
    • ... test my plugin
  • Reference section
    • Descriptor/Describable framework
    • for each extension point describe)
      • How to define a plugin using this extension point
      • Relevant descriptor information
      • Call back rules (when is it called and what state is the job/build/system in,etc.)
    • Hudson specific elements in the maven pom
    • services provided by hudson core
  • Jelly section
    • Mapping between jelly and plugins
    • implicit variables available in jelly
    • hudson specific tags