Git Product home page Git Product logo

pipeline-config-history-plugin's Introduction

Pipeline Config History Plugin

Build Status Jenkins Plugin Issues Jenkins Plugin Installs Contributors

This Plugin tracks changes in your pipeline configuration on a build basis (including replay builds):
On each completed build built from a pipeline config (including libraries) which differs from the latest history entry, a new history entry is created.

These information are stored:

  • The Jenkinsfile (or the pipeline script if you're not using pipeline via scm)
  • Globally shared libraries
  • Shared Libraries accessible to the folder your pipeline might be included in.

The single configurations are viewable file-by-file with each file being downloadable.

You can also easily compare pipeline changes between two builds with a file-wise or all-in-one side-by-side or line-under-line diff view.
Restoring old configurations however is not possible, since that would require a modification in your Jenkinsfile and/ or library scm.


Pictures

Index Page

All Diffs In One Page

Config Revision Overview Page

Single File Page


Changelog

See Changelog on Github.


Notes

  • This plugin uses highlight.js for syntax highlighting (code and diffs). See

  • Development: Make hpi:run work with shared libraries

    • install shared library plugin (if not installed already)
    • install git (if you want to use the shared library plugin with git)

pipeline-config-history-plugin's People

Contributors

jochen-a-fuerbacher avatar robinrschulz avatar stefanbrausch avatar tobix avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

pipeline-config-history-plugin's Issues

Break all pipeline jobs

After having this plugin installed, All my pipeline are frozen after the following console line:

[Pipeline] Start of Pipeline

I am using jenkins v.2.178 and tested only scripted pipeline job (no SCM).
desinstalling and restarting Jenkins fixed this (after reinstalling pipeline: job, api... and several others). Is it touching the job properties?

PCH sometimes creates history entries even when there are no changes

In certain cases Pipeline-Config-History creates history entries even when there are no changes on any related pipeline file. A diff between two of those created history entries shows Revisions are not different..

I see two possibilities, why history entries get created:

  • The script parts of the build.xml aren't equal (e.g. different types of whitespaces, encoding, linebreaks etc.).
  • The build libs directories aren't equal. However, there are no libs directories in the build directory of the tested pipeline jobs.

@RobinRSchulz Could you look into this, please?

Is this still working?

Jenkins and plugins versions report

Environment
Jenkins: 2.346.2
OS: Linux - 5.14.0-70.13.1.el9_0.x86_64
---
ace-editor:1.1
ant:475.vf34069fef73c
antisamy-markup-formatter:2.7
apache-httpcomponents-client-4-api:4.5.13-138.v4e7d9a_7b_a_e61
authentication-tokens:1.4
authorize-project:1.4.0
bootstrap4-api:4.6.0-5
bootstrap5-api:5.2.0-1
bouncycastle-api:2.26
branch-api:2.1046.v0ca_37783ecc5
build-discarder:60.v1747b0eb632a
build-timeout:1.21
caffeine-api:2.9.3-65.v6a_47d0f4d1fe
checks-api:1.7.5
cloudbees-folder:6.740.ve4f4ffa_dea_54
command-launcher:84.v4a_97f2027398
config-file-provider:3.11.1
credentials:1139.veb_9579fca_33b_
credentials-binding:523.vd859a_4b_122e6
display-url-api:2.3.6
docker-commons:1.19
docker-java-api:3.2.13-37.vf3411c9828b9
docker-plugin:1.2.9
docker-workflow:521.v1a_a_dd2073b_2e
durable-task:500.v8927d9fd99d8
echarts-api:5.3.3-1
email-ext:2.91
external-monitor-job:192.ve979ca_8b_3ccd
font-awesome-api:6.1.2-1
git:4.11.4
git-client:3.11.2
git-parameter:0.9.17
git-server:1.11
github:1.34.5
github-api:1.303-400.v35c2d8258028
github-branch-source:1677.v731f745ea_0cf
gitlab-plugin:1.5.35
gradle:1.39.4
handlebars:3.0.8
jackson2-api:2.13.3-285.vc03c0256d517
jakarta-activation-api:2.0.1-1
jakarta-mail-api:2.0.1-1
javadoc:226.v71211feb_e7e9
javax-activation-api:1.2.0-4
javax-mail-api:1.6.2-7
jaxb:2.3.6-1
jdk-tool:55.v1b_32b_6ca_f9ca
jersey2-api:2.36-2
jjwt-api:0.11.5-77.v646c772fddb_0
jnr-posix-api:3.1.15-1
jquery:1.12.4-1
jquery-detached:1.2.1
jquery3-api:3.6.0-4
jsch:0.1.55.61.va_e9ee26616e7
junit:1119.1121.vc43d0fc45561
ldap:2.11
lockable-resources:2.16
mailer:435.v79ef3972b_5c7
mapdb-api:1.0.9-28.vf251ce40855d
matrix-auth:3.1.5
matrix-project:772.v494f19991984
mina-sshd-api-common:2.8.0-36.v8e25ce90d4b_1
mina-sshd-api-core:2.8.0-36.v8e25ce90d4b_1
momentjs:1.1.1
nodejs:1.5.1
okhttp-api:4.9.3-108.v0feda04578cf
pam-auth:1.10
parameterized-trigger:2.45
pipeline-build-step:2.18
pipeline-config-history:1.6
pipeline-github-lib:38.v445716ea_edda_
pipeline-graph-analysis:195.v5812d95a_a_2f9
pipeline-groovy-lib:612.v84da_9c54906d
pipeline-input-step:449.v77f0e8b_845c4
pipeline-milestone-step:101.vd572fef9d926
pipeline-model-api:2.2114.v2654ca_721309
pipeline-model-definition:2.2114.v2654ca_721309
pipeline-model-extensions:2.2114.v2654ca_721309
pipeline-rest-api:2.24
pipeline-stage-step:293.v200037eefcd5
pipeline-stage-tags-metadata:2.2114.v2654ca_721309
pipeline-stage-view:2.24
plain-credentials:139.ved2b_9cf7587b
plugin-util-api:2.17.0
popper-api:1.16.1-3
popper2-api:2.11.5-2
resource-disposer:0.19
role-strategy:555.v8d194cc85b_30
scm-api:621.vda_a_b_055e58f7
script-security:1175.v4b_d517d6db_f0
snakeyaml-api:1.30.2-76.vc104f7ce9870
ssh-credentials:295.vced876c18eb_4
ssh-slaves:1.834.v622da_57f702c
sshd:3.242.va_db_9da_b_26a_c3
structs:324.va_f5d6774f3a_d
subversion:2.16.0
swarm:3.34
timestamper:1.18
token-macro:308.v4f2b_ed62b_b_16
trilead-api:1.67.vc3938a_35172f
variant:59.vf075fe829ccb
windows-slaves:1.8.1
workflow-aggregator:590.v6a_d052e5a_a_b_5
workflow-api:1192.v2d0deb_19d212
workflow-basic-steps:991.v43d80fea_ff66
workflow-cps:2759.v87459c4eea_ca_
workflow-durable-task-step:1199.v02b_9244f8064
workflow-job:1207.ve6191ff089f8
workflow-multibranch:716.vc692a_e52371b_
workflow-scm-step:400.v6b_89a_1317c9a_
workflow-step-api:639.v6eca_cd8c04a_a_
workflow-support:838.va_3a_087b_4055b
ws-cleanup:0.42

What Operating System are you using (both controller, and any agents involved in the problem)?

Docker, Jenkins 2.346.2

Reproduction steps

Install Plugin

Expected Results

New menu items for history

Actual Results

No menu items

Anything else?

No response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.